1111import  geoip2 .errors 
1212import  maxminddb 
1313
14+ # pylint: disable=unused-import 
1415from  maxminddb  import  (MODE_AUTO , MODE_MMAP , MODE_MMAP_EXT , MODE_FILE ,
1516                       MODE_MEMORY )
1617
1718
1819class  Reader (object ):
1920
20-     """Creates a new  GeoIP2 database Reader object. 
21+     """GeoIP2 database Reader object. 
2122
2223    Instances of this class provide a reader for the GeoIP2 database format. 
2324    IP addresses can be looked up using the ``country`` and ``city`` methods. 
@@ -44,6 +45,41 @@ class Reader(object):
4445""" 
4546
4647    def  __init__ (self , filename , locales = None , mode = MODE_AUTO ):
48+         """Create GeoIP2 Reader 
49+ 
50+         :param filename: The path to the GeoIP2 database. 
51+         :param locales: This is list of locale codes. This argument will be 
52+           passed on to record classes to use when their name properties are 
53+           called. The default value is ['en']. 
54+ 
55+           The order of the locales is significant. When a record class has 
56+           multiple names (country, city, etc.), its name property will return 
57+           the name in the first locale that has one. 
58+ 
59+           Note that the only locale which is always present in the GeoIP2 
60+           data is "en". If you do not include this locale, the name property 
61+           may end up returning None even when the record has an English name. 
62+ 
63+           Currently, the valid locale codes are: 
64+ 
65+           * de -- German 
66+           * en -- English names may still include accented characters if that is 
67+             the accepted spelling in English. In other words, English does not 
68+             mean ASCII. 
69+           * es -- Spanish 
70+           * fr -- French 
71+           * ja -- Japanese 
72+           * pt-BR -- Brazilian Portuguese 
73+           * ru -- Russian 
74+           * zh-CN -- Simplified Chinese. 
75+         :param mode: The mode to open the database with. Valid mode are: 
76+           * MODE_MMAP_EXT - use the C extension with memory map. 
77+           * MODE_MMAP - read from memory map. Pure Python. 
78+           * MODE_FILE - read database as standard file. Pure Python. 
79+           * MODE_MEMORY - load database into memory. Pure Python. 
80+           * MODE_AUTO - try MODE_MMAP_EXT, MODE_MMAP, MODE_FILE in that order. Default. 
81+ 
82+         """ 
4783        if  locales  is  None :
4884            locales  =  ['en' ]
4985        self ._db_reader  =  maxminddb .open_database (filename , mode )
0 commit comments