Στις 26/9/2013 12:04 μμ, ο/η Jussi Piitulainen έγραψε:

Up until now i have this:

city = gi.time_zone_by_addr( os.environ['HTTP_CF_CONNECTING_IP'] ) or
gi.time_zone_by_addr( os.environ['REMOTE_ADDR'] ) or
"�γν���η Π�λη"


can this be written as:

city = gi.time_zone_by_addr( os.environ.get('HTTP_CF_CONNECTING_IP',
os.environ['REMOTE_ADDR'] )) or "�γν���η
Π�λη"

It makes it more easily for me to understand this way.

That will always get os.environ['REMOTE_ADDR'] and raise exception if
it doesn't exist.

Maybe you want this:

city = gi.time_zone_by_addr(os.environ.get('HTTP_CF_CONNECTING_IP') or
                             os.environ.get('REMOTE_ADDR') or
                             "�γν����·Π�λη")

Okey that indeed doesn't hit on that lines.

Now my statements are as follows:

city = gi.time_zone_by_addr( os.environ.get('HTTP_CF_CONNECTING_IP') or os.environ.get('REMOTE_ADDR') or "Άγνωστη Πόλη" )

host = socket.gethostbyaddr( os.environ.get('HTTP_CF_CONNECTING_IP') or os.environ.get('REMOTE_ADDR') or "Άγνωστη Προέλευση" )

So you include everything in aprenthseis with a get method that you know beforehand it will not raise an exception but continue to check the next operand and the next until it default to the string.

Its more clear this way: but look. this way now produced a weird error few line slater when 'host' is tryign to be identefied by 're'.

[Thu Sep 26 09:44:39 2013] [error] [client 108.162.250.63] File "/home/nikos/public_html/cgi-bin/metrites.py", line 181, in <module> [Thu Sep 26 09:44:39 2013] [error] [client 108.162.250.63] if not vip and re.search( r'(msn|gator|amazon|yandex|reverse|who|cloudflare|fetch|barracuda|spider|google|crawl|pingdom)', host ) is None: [Thu Sep 26 09:44:39 2013] [error] [client 108.162.250.63] File "/usr/local/bin/python/lib/python3.3/re.py", line 161, in search [Thu Sep 26 09:44:39 2013] [error] [client 108.162.250.63] return _compile(pattern, flags).search(string) [Thu Sep 26 09:44:39 2013] [error] [client 108.162.250.63] TypeError: expected string or buffer

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to