本文整理汇总了Python中nodeshot.core.nodes.models.Node.address方法的典型用法代码示例。如果您正苦于以下问题:Python Node.address方法的具体用法?Python Node.address怎么用?Python Node.address使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nodeshot.core.nodes.models.Node
的用法示例。
在下文中一共展示了Node.address方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_openlabor_add_node
# 需要导入模块: from nodeshot.core.nodes.models import Node [as 别名]
# 或者: from nodeshot.core.nodes.models.Node import address [as 别名]
def test_openlabor_add_node(self):
layer = Layer.objects.external()[0]
layer.minimum_distance = 0
layer.area = None
layer.new_nodes_allowed = True
layer.save()
layer = Layer.objects.get(pk=layer.pk)
url = 'http://devopenlabor.lynxlab.com/api/v1'
external = LayerExternal(layer=layer)
external.interoperability = 'nodeshot.interoperability.synchronizers.OpenLabor'
external.config = json.dumps({
"open311_url": url,
"service_code_get": "001",
"service_code_post": "002",
"default_status": "active",
"api_key": "DEVO1395445966"
})
external.full_clean()
external.save()
node = Node()
node.name = 'offerta di lavoro di test'
node.description = 'altra offerta di lavoro inserita automaticamente tramite unit test'
node.geometry = 'POINT (12.5823391919000012 41.8721429276999820)'
node.layer = layer
node.user_id = 1
node.address = 'via del test'
node.data = {
"professional_profile": "professional_profile test",
"qualification_required": "qualification_required test",
"contract_type": "contract_type test",
"zip_code": "zip code test",
"city": "city test"
}
node.save()
self.assertIsNotNone(node.external.external_id)
示例2: process_borders
# 需要导入模块: from nodeshot.core.nodes.models import Node [as 别名]
# 或者: from nodeshot.core.nodes.models.Node import address [as 别名]
def process_borders(self,borders):
if not borders:
self.message = """
Borders data not processed.
"""
return False
# retrieve all items
items = borders
# init empty lists
added_nodes = []
changed_nodes = []
unmodified_nodes = []
# retrieve a list of local nodes in DB
local_nodes_slug = Node.objects.filter(layer=self.layer).values_list('slug', flat=True)
# init empty list of slug of external nodes that will be needed to perform delete operations
external_nodes_slug = []
deleted_nodes_count = 0
try:
self.status = Status.objects.get(slug=self.config.get('status', None))
except Status.DoesNotExist:
self.status = None
# loop over every parsed item
for item in items:
# retrieve info in auxiliary variables
# readability counts!
name = item['properties'].get('name', '')[0:70]
address = name
slug = slugify(name)
#print(slug)
number = 1
original_name = name
needed_different_name = False
while True:
# items might have the same name... so we add a number..
if slug in external_nodes_slug:
needed_different_name = True
number = number + 1
name = "%s - %d" % (original_name, number)
slug = slug = slugify(name)
else:
if needed_different_name:
self.verbose('needed a different name for %s, trying "%s"' % (original_name, name))
break
# geometry object
geometry = GEOSGeometry(json.dumps(item["geometry"]))
# default values
added = False
changed = False
try:
# edit existing node
node = Node.objects.get(slug=slug)
except Node.DoesNotExist:
# add a new node
node = Node()
node.layer = self.layer
node.status = self.status
node.data = {}
added = True
if node.name != name:
node.name = name
changed = True
if node.slug != slug:
node.slug = slug
changed = True
if added is True or node.geometry.equals(geometry) is False:
node.geometry = geometry
changed = True
if node.address != address:
node.address = address
changed = True
# perform save or update only if necessary
if added or changed:
try:
node.full_clean()
node.save()
except ValidationError as e:
# TODO: are we sure we want to interrupt the execution?
raise Exception("%s import errors: %s" % (name, e.messages))
if added:
added_nodes.append(node)
self.verbose('new node saved with name "%s"' % node.name)
elif changed:
changed_nodes.append(node)
self.verbose('node "%s" updated' % node.name)
else:
unmodified_nodes.append(node)
#.........这里部分代码省略.........
示例3: save
# 需要导入模块: from nodeshot.core.nodes.models import Node [as 别名]
# 或者: from nodeshot.core.nodes.models.Node import address [as 别名]
def save(self):
""" synchronize DB """
# retrieve all items
items = self.parsed_data.getElementsByTagName('AccessPoint')
# init empty lists
added_nodes = []
changed_nodes = []
unmodified_nodes = []
# retrieve a list of local nodes in DB
local_nodes_slug = Node.objects.filter(layer=self.layer).values_list('slug', flat=True)
# init empty list of slug of external nodes that will be needed to perform delete operations
external_nodes_slug = []
deleted_nodes_count = 0
try:
self.status = Status.objects.get(slug=self.config.get('status', None))
except Status.DoesNotExist:
self.status = None
# loop over every parsed item
for item in items:
# retrieve info in auxiliary variables
# readability counts!
name = self.get_text(item, 'Denominazione')[0:70]
slug = slugify(name)
number = 1
original_name = name
needed_different_name = False
while True:
# items might have the same name... so we add a number..
if slug in external_nodes_slug:
needed_different_name = True
number = number + 1
name = "%s - %d" % (original_name, number)
slug = slug = slugify(name)
else:
if needed_different_name:
self.verbose('needed a different name for %s, trying "%s"' % (original_name, name))
break
lat = self.get_text(item, 'Latitudine')
lng = self.get_text(item, 'longitudine')
description = 'Indirizzo: %s, %s; Tipologia: %s' % (
self.get_text(item, 'Indirizzo'),
self.get_text(item, 'Comune'),
self.get_text(item, 'Tipologia')
)
address = '%s, %s' % (
self.get_text(item, 'Indirizzo'),
self.get_text(item, 'Comune')
)
# point object
point = Point(float(lng), float(lat))
# default values
added = False
changed = False
try:
# edit existing node
node = Node.objects.get(slug=slug)
except Node.DoesNotExist:
# add a new node
node = Node()
node.layer = self.layer
node.status = self.status
added = True
if node.name != name:
node.name = name
changed = True
if node.slug != slug:
node.slug = slug
changed = True
if added is True or node.geometry.equals(point) is False:
node.geometry = point
changed = True
if node.description != description:
node.description = description
changed = True
if node.address != address:
node.address = address # complete address
node.data = {
'address': self.get_text(item, 'Indirizzo'),
'city': self.get_text(item, 'Comune'),
'province': 'Roma',
'country': 'Italia'
}
changed = True
# perform save or update only if necessary
#.........这里部分代码省略.........