当前位置: 首页>>代码示例>>Python>>正文


Python CityLocation.get_or_create方法代码示例

本文整理汇总了Python中stoqlib.domain.address.CityLocation.get_or_create方法的典型用法代码示例。如果您正苦于以下问题:Python CityLocation.get_or_create方法的具体用法?Python CityLocation.get_or_create怎么用?Python CityLocation.get_or_create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在stoqlib.domain.address.CityLocation的用法示例。


在下文中一共展示了CityLocation.get_or_create方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_get_or_create

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def test_get_or_create(self):
        loc = CityLocation.get_or_create(self.store, u'City',
                                         u'State', u'Country')
        self.failUnless(loc)
        self.assertEqual(loc.city, u'City')
        self.assertEqual(loc.state, u'State')
        self.assertEqual(loc.country, u'Country')

        loc2 = CityLocation.get_or_create(self.store, u'city',
                                          u'state', u'country')
        self.failUnless(loc2)
        self.assertEqual(loc2.city, u'City')
        self.assertEqual(loc2.state, u'State')
        self.assertEqual(loc2.country, u'Country')
        self.assertEqual(loc2, loc)

        location = CityLocation.get_or_create(self.store, u'São Carlos',
                                              u'SP', u'Brazil')
        for city, state, country in [
                (u'sao carlos', u'SP', u'Brazil'),
                (u'Sao carlos', u'SP', u'Brazil'),
                (u'São carlos', u'SP', u'Brazil'),
                (u'sao Carlos', u'SP', u'Brazil'),
                (u'sao Carlos', u'sp', u'Brazil'),
                (u'sao Carlos', u'sp', u'brazil'),
                (u'sao Carlos', u'Sp', u'brazil')]:
            self.assertEqual(CityLocation.get_or_create(self.store, city,
                                                        state, country),
                             location)
        loc2 = CityLocation(store=self.store)
        loc2.city = u'Sao Carlos'
        loc2.state = u'SP'
        loc2.country = u'Brazil'
        loc2.city_code = 00000
        location = CityLocation.get_or_create(self.store, u'São Carlos',
                                              u'SP', u'Brazil')
        self.assertEquals(location.city_code, 3548906)
        loc3 = CityLocation(store=self.store)
        loc3.city = u'City ABC'
        loc3.state = u'SP'
        loc3.country = u'Brazil'
        loc3.city_code = None
        loc4 = CityLocation(store=self.store)
        loc4.city = u'City ABĆ'
        loc4.state = u'SP'
        loc4.country = u'Brazil'
        loc4.city_code = None
        location = CityLocation.get_or_create(self.store, u'City ABC',
                                              u'SP', u'Brazil')
        self.assertNotEquals(location, loc4)
        loc4.city_code = 13560
        location = CityLocation.get_or_create(self.store, u'City ABC',
                                              u'SP', u'Brazil')
        self.assertEquals(location, loc4)

        for city, state, country in [(u'Sao', u'SP', 'Brazil'),
                                     (u'carlos', decimal.Decimal(8), u'Brazil')]:
            with self.assertRaises(TypeError):
                CityLocation.get_or_create(self.store, city, state, country)
开发者ID:LeonamSilva,项目名称:stoq,代码行数:61,代码来源:test_address.py

示例2: process_one

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def process_one(self, data, fields, store):
        person = Person(
            store=store,
            name=data.name,
            phone_number=data.phone_number,
            mobile_number=data.mobile_number)

        Individual(person=person,
                   store=store,
                   cpf=data.cpf,
                   rg_number=data.rg)

        ctloc = CityLocation.get_or_create(store=store,
                                           city=data.city,
                                           state=data.state,
                                           country=data.country)
        streetnumber = data.streetnumber and int(data.streetnumber) or None
        Address(
            is_main_address=True,
            person=person,
            city_location=ctloc,
            store=store,
            street=data.street,
            streetnumber=streetnumber,
            district=data.district
            )

        Client(person=person, store=store)
开发者ID:romaia,项目名称:stoq,代码行数:30,代码来源:clientimporter.py

示例3: process_one

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def process_one(self, data, fields, store):
        person = Person(
            store=store,
            name=data.name,
            phone_number=data.phone_number,
            fax_number=data.fax_number)

        Company(person=person, cnpj=data.cnpj,
                state_registry=data.state_registry,
                fancy_name=data.fancy_name,
                store=store)

        ctloc = CityLocation.get_or_create(store=store,
                                           city=data.city,
                                           state=data.state,
                                           country=data.country)
        streetnumber = data.streetnumber and int(data.streetnumber) or None
        Address(
            is_main_address=True,
            person=person,
            city_location=ctloc,
            store=store,
            street=data.street,
            streetnumber=streetnumber,
            district=data.district,
            postal_code=data.postal_code
        )

        branch = Branch(person=person, store=store)
        for user in store.find(LoginUser):
            user.add_access_to(branch)
开发者ID:marianaanselmo,项目名称:stoq,代码行数:33,代码来源:branchimporter.py

示例4: process_one

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def process_one(self, data, fields, store):
        person = Person(
            store=store,
            name=data.name,
            phone_number=data.phone_number,
            mobile_number=data.mobile_number)

        Company(person=person,
                store=store,
                cnpj=data.cnpj,
                fancy_name=data.name,
                state_registry=data.state_registry)

        ctloc = CityLocation.get_or_create(store=store,
                                           city=data.city,
                                           state=data.state,
                                           country=data.country)
        streetnumber = data.streetnumber and int(data.streetnumber) or None
        Address(
            is_main_address=True,
            person=person,
            city_location=ctloc,
            store=store,
            street=data.street,
            streetnumber=streetnumber,
            district=data.district
        )

        dict(open_contract_date=self.parse_date(data.open_contract),
             freight_percentage=data.freight_percentage),
        Transporter(person=person, store=store)
开发者ID:leandrorchaves,项目名称:stoq,代码行数:33,代码来源:transporterimporter.py

示例5: process_one

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def process_one(self, data, fields, store):
        person = Person(
            store=store,
            name=data.name,
            phone_number=data.phone_number,
            mobile_number=data.mobile_number)

        Company(person=person,
                store=store,
                cnpj=data.cnpj,
                fancy_name=data.name,
                state_registry=data.state_registry)

        ctloc = CityLocation.get_or_create(store=store,
                                           city=data.city,
                                           state=data.state,
                                           country=data.country)
        streetnumber = data.streetnumber and int(data.streetnumber) or None
        Address(
            is_main_address=True,
            person=person,
            city_location=ctloc,
            store=store,
            street=data.street,
            streetnumber=streetnumber,
            district=data.district
        )

        supplier = Supplier(person=person, store=store)
        self.suppliers.append(supplier)
开发者ID:Guillon88,项目名称:stoq,代码行数:32,代码来源:supplierimporter.py

示例6: ensure_birth_location

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
 def ensure_birth_location(self):
     changed = self.birth_location_changed()
     if changed:
         self.target.birth_location = CityLocation.get_or_create(
             city=self.city,
             state=self.state,
             country=self.country,
             store=self.store)
开发者ID:hackedbellini,项目名称:stoq,代码行数:10,代码来源:individualtemplate.py

示例7: testGetCitiesBy

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def testGetCitiesBy(self):
        location = CityLocation.get_or_create(self.store, u'Sao Carlos',
                                              u'SP', u'Brazil')
        for state, country in [
            (u'SP', u'Brazil'),
            (u'Sp', u'brazil'),
            (u'SP', u'brazil'),
            (u'sp', u'Brazil'),
            (u'sp', u'BraZIL'),
            (None, u'Brazil'),
            (u'SP', None),
            (None, None),
            ]:
            self.assertTrue(location.city in
                            CityLocation.get_cities_by(self.store,
                                                       state=state,
                                                       country=country))
        for state, country in [
            (u'SP', u'Brazi'),
            (u'RJ', u'Brazil'),
            (u'RJ', None),
            (u'BA', None),
            (u'SP', u'Albânia'),
            ]:
            self.assertFalse(location.city in
                             CityLocation.get_cities_by(self.store,
                                                        state=state,
                                                        country=country))

        # Make sure no duplicates are returned
        CityLocation.get_or_create(self.store, u'Sao Carlos', u'SP', u'BR')
        CityLocation.get_or_create(self.store, u'Sao Carlos', u'SP', u'BR_')
        CityLocation.get_or_create(self.store, u'Sao Carlos', u'SP', u'BR__')
        cities = list(CityLocation.get_cities_by(self.store, state=u'SP'))
        self.assertEqual(len(cities), len(set(cities)))
开发者ID:romaia,项目名称:stoq,代码行数:37,代码来源:test_address.py

示例8: ensure_address

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
 def ensure_address(self):
     changed = self._city_location_changed()
     if changed:
         location = CityLocation.get_or_create(
             city=self.city,
             state=self.state,
             country=self.country,
             store=self.store)
         self.target.city_location = location
开发者ID:hackedbellini,项目名称:stoq,代码行数:11,代码来源:addressslave.py

示例9: testGetOrCreate

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def testGetOrCreate(self):
        loc = CityLocation.get_or_create(self.store, u'City',
                                         u'State', u'Country')
        self.failUnless(loc)
        self.assertEqual(loc.city, u'City')
        self.assertEqual(loc.state, u'State')
        self.assertEqual(loc.country, u'Country')

        loc2 = CityLocation.get_or_create(self.store, u'city',
                                          u'state', u'country')
        self.failUnless(loc2)
        self.assertEqual(loc2.city, u'City')
        self.assertEqual(loc2.state, u'State')
        self.assertEqual(loc2.country, u'Country')
        self.assertEqual(loc2, loc)

        location = CityLocation.get_or_create(self.store, u'São Carlos',
                                              u'SP', u'Brazil')
        for city, state, country in [
            (u'sao carlos', u'SP', u'Brazil'),
            (u'Sao carlos', u'SP', u'Brazil'),
            (u'São carlos', u'SP', u'Brazil'),
            (u'sao Carlos', u'SP', u'Brazil'),
            (u'sao Carlos', u'sp', u'Brazil'),
            (u'sao Carlos', u'sp', u'brazil'),
            (u'sao Carlos', u'Sp', u'brazil'),
            ]:
            self.assertEqual(CityLocation.get_or_create(self.store, city,
                                                        state, country),
                             location)
        for city, state, country in [
            (u'Sao', u'SP', u'Brazil'),
            (u'sao', u'SP', u'Brazil'),
            (u'Carlos', u'SP', u'Brazil'),
            (u'carlos', u'SP', u'Brazil'),
            ]:
            self.assertNotEqual(CityLocation.get_or_create(self.store, city,
                                                           state, country),
                                location)
开发者ID:romaia,项目名称:stoq,代码行数:41,代码来源:test_address.py

示例10: process_one

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def process_one(self, data, fields, store):
        person = Person(
            store=store,
            name=data.name,
            phone_number=data.phone_number,
            mobile_number=data.mobile_number)

        Individual(person=person,
                   store=store,
                   cpf=data.cpf,
                   rg_number=data.rg)

        role = EmployeeRole(store=store, name=data.role)

        employee = Employee(person=person,
                            store=store,
                            role=role,
                            salary=int(data.salary),
                            registry_number=data.employee_number)

        start = self.parse_date(data.start)
        EmployeeRoleHistory(
            store=store, role=role,
            employee=employee,
            is_active=True,
            began=start,
            salary=int(data.salary))

        ctloc = CityLocation.get_or_create(store=store,
                                           city=data.city,
                                           state=data.state,
                                           country=data.country)
        streetnumber = data.streetnumber and int(data.streetnumber) or None
        Address(is_main_address=True,
                person=person,
                city_location=ctloc,
                store=store,
                street=data.street,
                streetnumber=streetnumber,
                district=data.district)

        if self.create_users:
            profile = store.find(UserProfile, name=data.profile).one()
            LoginUser(person=person, store=store, profile=profile,
                      username=data.username,
                      password=data.password)

        SalesPerson(person=person, store=store)
开发者ID:hackedbellini,项目名称:stoq,代码行数:50,代码来源:employeeimporter.py

示例11: testConfirm

# 需要导入模块: from stoqlib.domain.address import CityLocation [as 别名]
# 或者: from stoqlib.domain.address.CityLocation import get_or_create [as 别名]
    def testConfirm(self, info):
        city_location = CityLocation.get_or_create(
            self.store, u"São Carlos", u"SP", u"Brazil")
        person = self.create_person()
        address = self.create_address(person=person,
                                      city_location=city_location)
        editor = AddressEditor(self.store, person, address)
        address_slave = editor.address_slave
        self.assertSensitive(editor.main_dialog, ['ok_button'])
        valid_city = address_slave.city.read()

        # Trying to confirm the editor without leaving the entry.
        # Can be reproduced by pressing ALT+O
        address_slave.city.grab_focus()
        address_slave.city.update("INVALID CITY")
        self.assertValid(address_slave, ['city'])
        self.assertSensitive(editor.main_dialog, ['ok_button'])
        self.assertFalse(editor.confirm())
        self.assertInvalid(address_slave, ['city'])
        info.assert_called_once_with("The city is not valid")

        # When city looses focus, validation should be done
        address_slave.city.update(valid_city)
        self.assertSensitive(editor.main_dialog, ['ok_button'])
        address_slave.city.grab_focus()
        address_slave.city.update("INVALID CITY")
        # FIXME: For some reason, this only works here when grabbing the focus
        # on another widget and emitting the focus-out event. On the real
        # editor, pressing TAB or even trying to click on Ok is enough
        address_slave.state.grab_focus()
        address_slave.city.emit('focus-out-event',
                                gtk.gdk.Event(gtk.gdk.FOCUS_CHANGE))
        self.assertNotSensitive(editor.main_dialog, ['ok_button'])
        self.assertInvalid(address_slave, ['city'])

        address_slave.city.update(valid_city)
        self.assertValid(address_slave, ['city'])
        self.assertSensitive(editor.main_dialog, ['ok_button'])

        path = 'stoqlib.domain.address.CityLocation.is_valid_model'
        with mock.patch(path) as is_valid_model:
            is_valid_model.return_value = False
            self.assertFalse(editor.validate_confirm())
            self.assertFalse(editor.confirm())

        self.assertTrue(editor.validate_confirm())
        self.assertTrue(editor.confirm())
开发者ID:leandrorchaves,项目名称:stoq,代码行数:49,代码来源:test_address_editor.py


注:本文中的stoqlib.domain.address.CityLocation.get_or_create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。