예제 #1
0
def ping_directories_handler(sender, **kwargs):
    """Ping Directories when an gbobject is saved"""
    gbobject = kwargs['instance']

    if gbobject.is_visible and settings.SAVE_PING_DIRECTORIES:
        from objectapp.ping import DirectoryPinger

        for directory in settings.PING_DIRECTORIES:
            DirectoryPinger(directory, [gbobject])
예제 #2
0
 def setUp(self):
     params = {
         'title': 'My gbobject',
         'content': 'My content',
         'tags': 'objectapp, test',
         'slug': 'my-gbobject'
     }
     self.gbobject = Gbobject.objects.create(**params)
     self.pinger = DirectoryPinger('http://localhost', [self.gbobject],
                                   start_now=False)
예제 #3
0
 def ping_directories(self, request, queryset, messages=True):
     """Ping Directories for selected systems"""
     for directory in settings.PING_DIRECTORIES:
         pinger = DirectoryPinger(directory, queryset)
         pinger.join()
         if messages:
             success = 0
             for result in pinger.results:
                 if not result.get('flerror', True):
                     success += 1
                 else:
                     self.message_user(
                         request,
                         '%s : %s' % (directory, result['message']))
             if success:
                 self.message_user(
                     request,
                     _('%(directory)s directory succesfully ' \
                       'pinged %(success)d systems.') %
                     {'directory': directory, 'success': success})