def setStatus(self, id, s): ele = Element.get(Element.id == id) ele.status = common.getStatusByID(int(s)) ele.save() if ele.status == common.WANTED: tasks.searchElement(ele) self.redirect('/')
def runMediaAdder(): for adder in common.PM.MA: medias = adder.runShedule() successfulAdd = [] for media in medias: # print '######' # print media.mediaTypeIdentifier # print media.externalID # print media.name mtm = common.PM.getMediaTypeManager(media.mediaTypeIdentifier)[0] try: new_e = Element.getWhereField(mtm.mt, media.elementType, {'id': media.externalID}, media.providerTag, mtm.root) except Element.DoesNotExist: pass else: log(u'We already have %s' % new_e) successfulAdd.append(media) continue for provider in common.PM.getProvider(runFor=mtm): log.info(u'%s is looking for %s(%s) on %s' % (adder, media.name, media.externalID, provider)) ele = provider.getElement(media.externalID) if ele: log.info(u'we found %s. now lets gets real' % ele) new_status = common.getStatusByID(ele.manager.c.automatic_new_status_select) if ele.manager.makeReal(ele, new_status): createGenericEvent(ele, u'autoAdd', 'I was added by %s' % adder) common.MM.createInfo(u'%s added %s' % (adder, ele.getName())) if media not in successfulAdd: successfulAdd.append(media) if new_status == common.WANTED: t = TaskThread(runSearcherForMediaType, ele.manager, ele) t.start() else: log.info(u'%s did not find %s(%s)' % (provider, media.name, media.externalID)) adder.successfulAdd(successfulAdd)
def addElement(self, id): element = Element.get(Element.id == id) status = common.getStatusByID(element.manager.c.default_new_status_select) element.manager.makeReal(element, status) if status == common.WANTED: t = tasks.TaskThread(tasks.searchElement, element) t.start() return json.dumps({'result': True, 'data': {}, 'msg': '%s added.' % element.getName()})
def makePermanent(self, id): element = Element.get(Element.id == id) status = common.getStatusByID(element.manager.c.default_new_status_select) element.manager.makeReal(element, status) if status == common.WANTED: t = tasks.TaskThread(tasks.searchElement, element) t.start() self.redirect('/')
def makePermanent(self, id): element = Element.get(Element.id == id) status = common.getStatusByID( element.manager.c.default_new_status_select) element.manager.makeReal(element, status) if status == common.WANTED: t = tasks.TaskThread(tasks.searchElement, element) t.start() self.redirect('/')
def runMediaAdder(): for adder in common.PM.MA: medias = adder.runShedule() successfulAdd = [] for media in medias: # print '######' # print media.mediaTypeIdentifier # print media.externalID # print media.name mtm = common.PM.getMediaTypeManager(media.mediaTypeIdentifier)[0] try: new_e = Element.getWhereField(mtm.mt, media.elementType, {'id': media.externalID}, media.providerTag, mtm.root) except Element.DoesNotExist: pass else: log(u'We already have %s' % new_e) media.root = new_e successfulAdd.append(media) continue for provider in common.PM.getProvider(runFor=mtm): log.info(u'%s is looking for %s(%s:%s) on %s' % (adder, media.name, media.providerTag, media.externalID, provider)) ele = provider.getElement(media.externalID, tag=media.providerTag) if not ele and common.SYSTEM.c.mediaadder_search_by_name: log.info(u'%s did not find %s(%s) trying now by NAME' % (provider, media.name, media.externalID)) rootElement = mtm.search(media.name) if len(list(rootElement.children)) == 1: log.info("We found one by with the name %s adding it!" % media.name) ele = list(rootElement.children)[0] else: log.info("We found multiple results with by name %s" % media.name) for child in rootElement.children: log.info("found %s" % child) if ele: log.info(u'we found %s. now lets gets real' % ele) if media.status is None: new_status = common.getStatusByID(ele.manager.c.automatic_new_status_select) else: new_status = media.status if ele.manager.makeReal(ele, new_status): createGenericEvent(ele, u'autoAdd', 'I was added by %s' % adder) common.MM.createInfo(u'%s added %s' % (adder, ele.getName())) media.root = ele if media not in successfulAdd: successfulAdd.append(media) if new_status == common.WANTED: t = TaskThread(runSearcherForMediaType, ele.manager, ele) t.start() else: log.info("Nothing found :(") adder.successfulAdd(successfulAdd)
def updateElement(element, force=False, withDecendents=True): for p in common.PM.getProvider(runFor=element.manager): # TODO: make sure we use the updated element after one provider is done for current_tag in p.tags: pID = element.getField('id', current_tag) if not pID: log.info(u'we dont have this element(%s) on provider(%s) with tag %s' % (element, p, current_tag)) # TODO search element by name or with help of xem ... yeah wishful thinking # new_e = p.searchForElement(element.getName()) log.warning('getting an element by name is not implemented can not refresh') continue log(u'Getting %s with provider id %s on %s' % (element, pID, p)) new_e = p.getElement(pID, element) createGenericEvent(element, 'refreshing', u'Serching for update on %s' % p) if new_e: log.info(u"%s returned an element" % p) else: log.info(u"%s returned NO element" % p) continue log("Processing new data tree %s" % new_e) new_nodes = helper.getNewNodes(element, new_e, current_tag) log("Processing %s done" % new_e) if new_nodes: for new_node in new_nodes: log.info("%s is a new node compared to the root %s" % (new_node, element)) new_parent = helper.findOldNode(new_node.parent, element, current_tag) log.debug("attaching %s to %s" % (new_node, new_parent)) new_node.parent = new_parent new_status = common.getStatusByID(new_node.manager.c.new_node_status_select) log.debug("Setting status of new node %s to %s" % (new_node, new_status)) new_node.status = new_status new_node.save() common.Q.put(('image.download', {'id': new_node.id})) else: log("No new nodes found in %s" % new_e) log("Clearing cache from %s" % element) element.clearTreeCache() log("Clearing cache from %s" % new_e) new_e.clearTreeCache() for updated_node in [new_e] + new_e.decendants: old_node = helper.findOldNode(updated_node, element, current_tag) if old_node is None: log.error("NO old node found for %s in %s" % (updated_node, element)) continue if not helper.sameElements(old_node, updated_node): log.info(u"Found new version of %s" % old_node) for f in list(updated_node.fields): old_node.setField(f.name, f.value, f.provider) common.Q.put(('image.download', {'id': old_node.id}))
def setStatus(self, status_id, element_id): status = common.getStatusByID(int(status_id)) try: ele = Element.get(Element.id == element_id) ele.status = status ele.save() except: return json.dumps({'result': False, 'data': {}, 'msg': 'Could not set status.'}) if status == common.WANTED: t = tasks.TaskThread(tasks.searchElement, ele) t.start() return json.dumps({'result': True, 'data': {'status_id': status.id}, 'msg': u'%s set to %s' % (ele.getName(), status)})
def setStatus(self, status_id, element_id): status = common.getStatusByID(int(status_id)) try: ele = Element.get(Element.id == element_id) ele.status = status ele.save() except: return json.dumps({"result": False, "data": {}, "msg": "Could not set status."}) if status == common.WANTED: t = tasks.TaskThread(tasks.searchElement, ele) t.start() return json.dumps( {"result": True, "data": {"screenName": u"%s" % status}, "msg": u"%s set to %s" % (ele.getName(), status)} )
def runMediaAdder(): for adder in common.PM.MA: medias = adder.runShedule() successfulAdd = [] for media in medias: # print '######' # print media.mediaTypeIdentifier # print media.externalID # print media.name mtm = common.PM.getMediaTypeManager(media.mediaTypeIdentifier)[0] try: new_e = Element.getWhereField(mtm.mt, media.elementType, {'id': media.externalID}, media.providerTag, mtm.root) except Element.DoesNotExist: pass else: log(u'We already have %s' % new_e) successfulAdd.append(media) continue for provider in common.PM.getProvider(runFor=mtm): log.info(u'%s is looking for %s(%s) on %s' % (adder, media.name, media.externalID, provider)) ele = provider.getElement(media.externalID) if ele: log.info(u'we found %s. now lets gets real' % ele) if media.status is None: new_status = common.getStatusByID(ele.manager.c.automatic_new_status_select) else: new_status = media.status if ele.manager.makeReal(ele, new_status): createGenericEvent(ele, u'autoAdd', 'I was added by %s' % adder) common.MM.createInfo(u'%s added %s' % (adder, ele.getName())) if media not in successfulAdd: successfulAdd.append(media) if new_status == common.WANTED: t = TaskThread(runSearcherForMediaType, ele.manager, ele) t.start() else: log.info(u'%s did not find %s(%s)' % (provider, media.name, media.externalID)) adder.successfulAdd(successfulAdd)
def runMediaAdder(): for adder in common.PM.MA: medias = adder.runShedule() successfulAdd = [] for media in medias: # print '######' # print media.mediaTypeIdentifier # print media.externalID # print media.name mtm = common.PM.getMediaTypeManager(media.mediaTypeIdentifier)[0] try: new_e = Element.getWhereField(mtm.mt, media.elementType, {'id': media.externalID}, media.providerTag, mtm.root) except Element.DoesNotExist: pass else: log(u'We already have %s' % new_e) media.root = new_e successfulAdd.append(media) continue for provider in common.PM.getProvider(runFor=mtm): log.info(u'%s is looking for %s(%s:%s) on %s' % (adder, media.name, media.providerTag, media.externalID, provider)) ele = provider.getElement(media.externalID, tag=media.providerTag) if not ele and common.SYSTEM.c.mediaadder_search_by_name: log.info(u'%s did not find %s(%s) trying now by NAME' % (provider, media.name, media.externalID)) rootElement = mtm.search(media.name) if len(list(rootElement.children)) == 1: log.info( "We found one by with the name %s adding it!" % media.name) ele = list(rootElement.children)[0] else: log.info("We found multiple results with by name %s" % media.name) for child in rootElement.children: log.info("found %s" % child) if ele: log.info(u'we found %s. now lets gets real' % ele) if media.status is None: new_status = common.getStatusByID( ele.manager.c.automatic_new_status_select) else: new_status = media.status if ele.manager.makeReal(ele, new_status): createGenericEvent(ele, u'autoAdd', 'I was added by %s' % adder) common.MM.createInfo(u'%s added %s' % (adder, ele.getName())) media.root = ele if media not in successfulAdd: successfulAdd.append(media) if new_status == common.WANTED: t = TaskThread(runSearcherForMediaType, ele.manager, ele) t.start() else: log.info("Nothing found :(") adder.successfulAdd(successfulAdd)