On Sun, 29 Sep 2013 13:17:36 +0300, Νίκος wrote:

> Στις 29/9/2013 12:50 μμ, ο/η Dave Angel έγραψε:
>> ipval = ( os.environ.get('HTTP_CF_CONNECTING_IP') or
>> os.environ.get('REMOTE_ADDR', "Cannot Resolve") )
>> try:
>>      gi = pygeoip.GeoIP('/usr/local/share/GeoIPCity.dat')
>>      city = gi.time_zone_by_addr( ipval )
>>      host = socket.gethostbyaddr( ipval ) [0]
>> except socket.gaierror as e:
>>      gi,city,host=globals().get("gi", "who knows"), globals().get
("city",
>> "Άγνωστη Πόλη"), globals().get("host", "Άγνωστη Προέλευση")
> 
> Hello Dave,
> 
> By looking at your code i think that you are tellign the progrma to try
> to gri don't know what the function globals() is supposed to do
> 
> but i was thinking more of:
> 
> ipval = ( os.environ.get('HTTP_CF_CONNECTING_IP') or
> os.environ.get('REMOTE_ADDR', "Cannot Resolve") )
> try:
>       city = gi.time_zone_by_addr( ipval )
>       host = socket.gethostbyaddr( ipval ) [0]
> except socket.gaierror as e:
>       # We need something here to identify which one of the 2 above 
variables
> or even both of them went wrong, and then assign the appropriate value
> to each one of them but i don't know how to write it.
> 
> Is there a function that can tell us which variable failed to be
> assigned a value that we can use in order to decide to which variable we
> will

Yes, set the default values first, and overwrite them with the successful 
values when the values are successfully calculated.

This is a very common method used in many programming languages.

-- 
Denis McMahon, denismfmcma...@gmail.com
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to