예제 #1
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)
예제 #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_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])
예제 #4
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})
예제 #5
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})
예제 #6
0
class DirectoryPingerTestCase(TestCase):
    """Test cases for DirectoryPinger"""
    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)

    def test_ping_gbobject(self):
        self.assertEquals(
            self.pinger.ping_gbobject(self.gbobject),
            {'message': 'http://localhost is an invalid directory.',
             'flerror': True})
예제 #7
0
class DirectoryPingerTestCase(TestCase):
    """Test cases for DirectoryPinger"""
    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)

    def test_ping_gbobject(self):
        self.assertEquals(
            self.pinger.ping_gbobject(self.gbobject), {
                'message': 'http://localhost is an invalid directory.',
                'flerror': True
            })