def reindex(): from vars import mime_type_map from InformaCamUtils.elasticsearch import Elasticsearch elasticsearch = Elasticsearch() elasticsearch.createIndex(reindex=True) for mode in ["sources", "submissions"]: for root_, dirs_, files_ in os.walk(os.path.join(assets_root, mode)): for dir_ in dirs_: for root, dirs, files in os.walk( os.path.join(assets_root, mode, dir_)): data = { '_id': dir_, 'asset_path': os.path.join(assets_root, mode, dir_) } for file in files: if mode == "submissions": if re.match(r'^(low_|med_|thumb_|high_)', file): continue else: comps = file.split(".") if len(comps) == 2 and re.match( r'(mkv|jpg)', comps[1]): data['file_name'] = file for mt, ext in mime_type_map.iteritems(): if ext == comps[1]: data['mime_type'] = mt break break elif mode == "sources": if re.match(r'^(credentials|publicKey|baseImage_)', file): continue else: data['file_name'] = file break print data try: if mode == "submissions": submission = Submission(inflate=data, reindex=True) print submission.emit() elif mode == "sources": source = Source(inflate=data, reindex=True) except exceptions.ConnectionError as e: print e return except AttributeError as e: continue
def reindex(): from vars import mime_type_map from InformaCamUtils.elasticsearch import Elasticsearch elasticsearch = Elasticsearch() elasticsearch.createIndex(reindex=True) for mode in ["sources", "submissions"]: for root_, dirs_, files_ in os.walk(os.path.join(assets_root, mode)): for dir_ in dirs_: for root, dirs, files in os.walk( os.path.join(assets_root, mode, dir_)): data = { '_id' : dir_, 'asset_path' : os.path.join(assets_root, mode, dir_) } for file in files: if mode == "submissions": if re.match(r'^(low_|med_|thumb_|high_)', file): continue else: comps = file.split(".") if len(comps) == 2 and re.match(r'(mkv|jpg)', comps[1]): data['file_name'] = file for mt, ext in mime_type_map.iteritems(): if ext == comps[1]: data['mime_type'] = mt break break elif mode == "sources": if re.match(r'^(credentials|publicKey|baseImage_)', file): continue else: data['file_name'] = file break print data try: if mode == "submissions": submission = Submission(inflate=data, reindex=True) print submission.emit() elif mode == "sources": source = Source(inflate=data, reindex=True) except exceptions.ConnectionError as e: print e sys.exit() except AttributeError as e: continue
def get(self, submission_id): """Returns the specified Submission. required: _id """ res = ServerResponse() if passesParameterFilter(submission_id): submission = ICSubmission(_id = submission_id) if not hasattr(submission, 'invalid'): res.data = submission.emit() res.result = 200 else: res.reason = submission.invalid if len(self.request.query) > 3: with_query = submission.search(parseRequest(self.request.query)) res.data['refined_search'] = {} if hasattr(with_query, 'annotations'): res.data['refined_search']['annotations'] = with_query.annotations self.write(res.emit())
def post(self): """Add a new Submission to the database. Only the server may utilize this method. required parameters in post: _id package_name package_content """ res = ServerResponse() params = parseRequest(self.request.body) if params is not None: submission = ICSubmission(inflate={'_id' : params['_id']}) if submission.addFile(params['package_name'], params['package_content']): if submission.importAssets(params['package_name']): submission.setMimeType(params['mime_type']) res.result = 200 res.data = submission.emit() else: submission.invalidate( invalidate['codes']['asset_non_existent'], invalidate['reasons']['asset_non_existent'] ) res.reason = submission.invalid self.write(res.emit())
def get(self, _id): res = Res() if passesParameterFilter(_id): submission = ICSubmission(_id=_id) if not hasattr(submission, "invalid"): res.data = submission.emit() res.result = 200 else: res.reason = submission.invalid self.finish(res.emit())
def post(self, _id): res = Res() if passesParameterFilter(_id): submission = ICSubmission(_id=_id) if not hasattr(submission, "invalid"): for k,v in parseRequest(self.request.body).iteritems(): if k not in submission.locked_fields: setattr(source, k, v) if submission.save(): res.data = submission.emit() res.result = 200 self.finish(res.emit())