本文整理汇总了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)
示例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)
示例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)
示例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)
示例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)
示例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)
示例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)))
示例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
示例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)
示例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)
示例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())