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


Python Node.status方法代码示例

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


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

示例1: test_node_count_change

# 需要导入模块: from nodeshot.core.nodes.models import Node [as 别名]
# 或者: from nodeshot.core.nodes.models.Node import status [as 别名]
 def test_node_count_change(self):
     """ when a new node is added nodes count should be updated """
     new_node = Node(user_id=4, name='new node', slug='new_node', layer_id=1, coords="POINT (41.9720419277 12.5822391919)")
     new_node.save()
     self.assertEqual(new_node.user.stats.potential_nodes, 2, "Potential nodes increment count failed")
     new_node.status = NODE_STATUS.get('active')
     new_node.save()
     self.assertEqual(new_node.user.stats.active_nodes, 4, "Active nodes increment count failed")
     self.assertEqual(new_node.user.stats.potential_nodes, 1, "Potential nodes decrement count failed")
     #new_node.is_hotspot = True
     #new_node.save()
     #self.assertEqual(new_node.user.stats.hotspots, 2, "Hotspot increment count failed")
     new_node.delete()
     user = User.objects.get(username='romano')
     self.assertEqual(user.stats.active_nodes, 3, "Active nodes decrement count failed")
开发者ID:codeforeurope,项目名称:nodeshot,代码行数:17,代码来源:tests.py

示例2: process_borders

# 需要导入模块: from nodeshot.core.nodes.models import Node [as 别名]
# 或者: from nodeshot.core.nodes.models.Node import status [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)
#.........这里部分代码省略.........
开发者ID:TzuLuX,项目名称:nodeshot,代码行数:103,代码来源:ProvinciaBorders.py

示例3: save

# 需要导入模块: from nodeshot.core.nodes.models import Node [as 别名]
# 或者: from nodeshot.core.nodes.models.Node import status [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
#.........这里部分代码省略.........
开发者ID:claudyus,项目名称:nodeshot,代码行数:103,代码来源:ProvinciaWIFI.py


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