Beispiel #1
0
	def run(self):
		mylog = MyLog('/home/pi/Documents/DealProject/log/dealdaemon.log')
		dealsea = Dealsea()
		slickdeals = Slickdeals()
		tagging = Tagging()
		ppom = Ppomppu()
		sendManualTag = ManualTag()
		clien = Clien()
		while True:
			dealsea.run()
			logging.info('***************************DEALSEA DONE******************************')
			slickdeals.run()
			logging.info('***************************SLICKDEALS DONE******************************')
			ppom.run()
			logging.info('***************************PPOMPPU DONE******************************')
			clien.run()
			logging.info('***************************CLIEN DONE******************************')
			try:
				logging.info('***************************tagging started***************************')
				for index in range(8):
					if tagging.run() <= 0:
						break
					else:
						logging.info('***************************tagging again***************************')
				logging.info('***************************tagging ended***************************')
				# sendManualTag.run()
			except Exception as e:
				logging.exception(e)
			
			time.sleep(60*5) # 20 minutes
Beispiel #2
0
    def _widgets(self):
        splitter = QSplitter()

        # -- Left
        left_splitter = QSplitter(Qt.Vertical)
        splitter.addWidget(left_splitter)

        # Top left
        filetree = FileTree(self._root_path,
                            self._on_filetree_selection_changed)
        left_splitter.addWidget(filetree)

        # Bottom left
        tagging = Tagging()
        left_splitter.addWidget(tagging)

        # -- Right
        image = ImageDisplay()
        # Wrap it in a resizable scroll area
        area = QScrollArea()
        area.setWidget(image)
        area.setWidgetResizable(True)
        area.setAlignment(Qt.AlignCenter)
        splitter.addWidget(area)

        # A slight hack to split width equally
        splitter.setSizes([100000, 100000])

        return splitter, filetree, tagging, image
Beispiel #3
0
    def create(cls,
               instance,
               title,
               text,
               creator,
               function=NORM,
               tags=None,
               wiki=False,
               formatting=False,
               sectionpage=False,
               allow_comment=True,
               allow_selection=True,
               always_show_original=True,
               abstract=None):
        from adhocracy.lib.text import title2alias
        from text import Text
        from tagging import Tagging
        if function not in Page.FUNCTIONS:
            raise AttributeError("Invalid page function type")
        label = title2alias(title)
        page = Page(instance, label, creator, function, formatting,
                    sectionpage, allow_comment, allow_selection,
                    always_show_original, abstract)
        meta.Session.add(page)
        meta.Session.flush()
        Text(page, Text.HEAD, creator, title, text, wiki)

        if tags is not None:
            page.taggings = Tagging.create_all(page, tags, creator)

        return page
Beispiel #4
0
 def create(cls, instance, label, user, with_vote=False, tags=None):
     from poll import Poll
     from tagging import Tagging
     proposal = Proposal(instance, label, user)
     meta.Session.add(proposal)
     meta.Session.flush()
     poll = Poll.create(proposal, user, Poll.RATE, with_vote=with_vote)
     proposal.rate_poll = poll
     if tags is not None:
         proposal.taggings = Tagging.create_all(proposal, tags, user)
     meta.Session.flush()
     return proposal
Beispiel #5
0
 def create(cls, instance, label, user, with_vote=False, tags=None):
     from poll import Poll
     from tagging import Tagging
     proposal = Proposal(instance, label, user)
     meta.Session.add(proposal)
     meta.Session.flush()
     poll = Poll.create(proposal, user, Poll.RATE,
                        with_vote=with_vote)
     proposal.rate_poll = poll
     if tags is not None:
         proposal.taggings = Tagging.create_all(proposal, tags, user)
     meta.Session.flush()
     return proposal
Beispiel #6
0
    def create(cls, instance, title, text, creator, function=NORM, tags=None,
               wiki=False):
        from adhocracy.lib.text import title2alias
        from text import Text
        from tagging import Tagging
        if function not in Page.FUNCTIONS:
            raise AttributeError("Invalid page function type")
        label = title2alias(title)
        page = Page(instance, label, creator, function)
        meta.Session.add(page)
        meta.Session.flush()
        Text(page, Text.HEAD, creator, title, text, wiki)

        if tags is not None:
            page.taggings = Tagging.create_all(page, tags, creator)

        return page
Beispiel #7
0
    def create(cls, instance, title, text, creator, function=NORM, tags=None,
               wiki=False, formatting=False, sectionpage=False,
               allow_comment=True, allow_selection=True,
               always_show_original=True, abstract=None):
        from adhocracy.lib.text import title2alias
        from text import Text
        from tagging import Tagging
        if function not in Page.FUNCTIONS:
            raise AttributeError("Invalid page function type")
        label = title2alias(title)
        page = Page(instance, label, creator, function, formatting,
                    sectionpage, allow_comment, allow_selection,
                    always_show_original, abstract)
        meta.Session.add(page)
        meta.Session.flush()
        Text(page, Text.HEAD, creator, title, text, wiki)

        if tags is not None:
            page.taggings = Tagging.create_all(page, tags, creator)

        return page
Beispiel #8
0
    def create(cls,
               instance,
               title,
               text,
               creator,
               function=NORM,
               tags=None,
               wiki=False):
        from adhocracy.lib.text import title2alias
        from text import Text
        from tagging import Tagging
        if function not in Page.FUNCTIONS:
            raise AttributeError("Invalid page function type")
        label = title2alias(title)
        page = Page(instance, label, creator, function)
        meta.Session.add(page)
        meta.Session.flush()
        Text(page, Text.HEAD, creator, title, text, wiki)

        if tags is not None:
            page.taggings = Tagging.create_all(page, tags, creator)

        return page
Beispiel #9
0
    def setUp(self):
        self.client = Redis(decode_responses=True)
        self.client.flushdb()

        self.article_tags = Tagging(self.client, "article::123")
Beispiel #10
0
class TestTagging(unittest.TestCase):
    def setUp(self):
        self.client = Redis(decode_responses=True)
        self.client.flushdb()

        self.article_tags = Tagging(self.client, "article::123")

    def test_add_and_is_included(self):
        self.assertFalse(self.article_tags.is_included("redis"))
        self.article_tags.add("redis")
        self.assertTrue(self.article_tags.is_included("redis"))

    def test_add_multi_element_in_once(self):
        self.article_tags.add("redis", "database", "nosql")
        self.assertTrue(self.article_tags.is_included("redis"))
        self.assertTrue(self.article_tags.is_included("database"))
        self.assertTrue(self.article_tags.is_included("nosql"))

    def test_remove(self):
        self.article_tags.add("redis")
        self.article_tags.remove("redis")
        self.assertFalse(self.article_tags.is_included("redis"))

    def test_remove_multi_elements_in_once(self):
        self.article_tags.add("redis", "database", "nosql")
        self.article_tags.remove("redis", "database", "nosql")
        self.assertFalse(self.article_tags.is_included("redis"))
        self.assertFalse(self.article_tags.is_included("database"))
        self.assertFalse(self.article_tags.is_included("nosql"))

    def test_get_all_tags(self):
        self.assertEqual(self.article_tags.get_all_tags(), set())
        self.article_tags.add("redis", "database", "nosql")
        self.assertEqual(self.article_tags.get_all_tags(),
                         {"redis", "database", "nosql"})

    def test_count(self):
        self.assertEqual(self.article_tags.count(), 0)
        self.article_tags.add("redis")
        self.assertEqual(self.article_tags.count(), 1)
Beispiel #11
0
    image = open(image_path, 'r')
    return image.read()


# logger
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
logging.debug("logging started")
logger = logging.getLogger(__name__)

# Config Parsing
config = SafeConfigParser()
config.read('config.ini')

# Queue
queue = Queue(config)
tagging = Tagging(config)
translater = Translater(config)
es_engine = SEngine(config)
# consuming forever
while True:
    # ensure all arrays are empy
    doc = {}
    tags = []
    translated_tags = []

    # get image to process
    image = queue.pop_from_queue()
    if not image:
        time.sleep(0.25)
        continue
    logger.info('recieved image=%s', image)