Op 26-09-13 11:56, Νίκος schreef: > Στις 26/9/2013 11:55 πμ, ο/η Nobody έγραψε: >> On Thu, 26 Sep 2013 10:26:48 +0300, Νίκος wrote: >> >>> How can i wrote the two following lines so for NOT to throw out >>> KeyErrors when a key is missing? >>> >>> city = gi.time_zone_by_addr( os.environ['HTTP_CF_CONNECTING_IP'] ) or >>> gi.time_zone_by_addr( os.environ['REMOTE_ADDR'] ) or >>> "ÎγνÏÏÏη Î Ïλη" >> >> tz = None >> ip = os.environ.get('HTTP_CF_CONNECTING_IP') >> if ip: >> tz = gi.time_zone_by_addr(ip) >> if not tz: >> ip = os.environ.get('REMOTE_ADDR') >> if ip: >> tz = gi.time_zone_by_addr(ip) >> if not tz: >> tz = "ÎγνÏÏÏη Î Ïλη" >> >> Likewise for the hostname. >> > > Its logic is simple and straightforward but too many lines: > > host = socket.gethostbyaddr( os.environ.get('HTTP_CF_CONNECTING_IP') or > os.environ.get('REMOTE_ADDR') or "Άγνωστη Προέλευση" ) > > this is much better in my opinion and straighforward also and more clear > to read:
No it is not and you prove that in the very next line. > it doens't work though: If it doesn't do what you think it should do then it is not straight forward or clear, at least not to you. -- Antoon Pardon -- https://mail.python.org/mailman/listinfo/python-list