def main(): if act.lower() in ['se', 'sea', 'sear', 'searc', 'search']: sname = raw_input('Name for search please: ') search(sname) elif act.lower() == 'add': aname = raw_input('Name for update please: ') aphone = raw_input('Phone for update please: ') try: add(aname, aphone) except ValueError: print 'Contact exists' elif act.lower() in ['delete','del']: dname = raw_input('Exact name for deletion please: ') try: remove(dname) except ValueError: print 'No such contact' elif act == 'getDB': try: print "getDB()" except ValueError: print ValueError else: print "Choose action: se[arch], add, del[ete], getDB "
async def store(link: str): response = crud.fetch(link) # if it's a new link, add it to db if 'exists' not in response.keys(): location = crud.add(response) response['_id'] = location del response['text'] del response['html'] del response['image'] del response['pubdate'] return response
def create(self, request): state_res = request.data state_res.update({'name': state_res.get( 'label').replace(' ', '_').lower()}) serializer = self.serializer_class(data=state_res) if serializer.is_valid(): state_res.update({'created_date': datetime.now(), 'modified_date': datetime.now( ), 'created_by_id': request.user.id, 'modified_by_id': request.user.id}) state_id = crud.add(self.table, state_res) return Response(state_id) else: return Response(serializer.errors)
def add2(): if request.method == "GET": table = request.args.get("table") return render_template("add2.html", table=table) elif request.method == "POST": table = request.form.get("table") id = request.form.get("id") name = request.form.get("name") sex = request.form.get("sex") tdata = request.form.get("tdata") #注册日期 balance = request.form.get("balance") #余额 phone = request.form.get("phone") #手机号 site = request.form.get("site") #地点 cname = request.form.get("cname") #商品名 if table == "userinfo": j = (int(id), name, sex, tdata, int(balance)) add(table, j) if table == "supplier": j = (int(id), name, sex, phone, site, cname) add(table, j) users = inquire(table) flash(u"添加成功") return render_template("user.html", users=users, table=table)
def generate_activity(self, request, name, message, id): char = "[]'" for special_char in char: message = message.replace(special_char, "") try: table = Activity._meta.db_table activity_data = {config.name: name, config.message:str(message), config.activity_time:datetime.now(),config.log_id:id, config.user_id:request.get(config.user_id), config.created_by_id: request.get(config.user_id), config.created_date: datetime.now(),config.modified_by_id:request.get(config.user_id), config.modified_date: datetime.now() } res = crud.add(table,activity_data) except Exception as e: return Response({config.error: e})
def add(args): crud.add(args.add_desc)
def generate_log(self, request, param=None, original_data=None, fields=None, ChangeTag=None): activity = ActivityView() #print "1=============================>param:",param,"\nreques",request,'\n === fileds',fields if param is not None: if fields is None: table = Log._meta.db_table name=config.Created log_data = { config.created_by_id: request.get(config.user_id), config.created_date: datetime.now(), config.modified_date: datetime.now(),config.modified_by_id:request.get(config.user_id)} log_data.update({param.get(config.field):request.get(config.id)}) id = crud.add(table,log_data) logger.debug(config.Generating_log.format(id)) if id: if isinstance(id,int): message=str(param.get(config.label))+" "+str(events.get(config.Created)) logger.debug(config.Create_message.format(message)) activity.generate_activity(request,events.get(config.Created),message,id) else: logger.error(config.Log_id_not_found,id) else: # print " 2 ====================================================param==>",param,'\n==> reques=>',request,'\n change tag',ChangeTag,'\n====,fileds',fields updated_value=[] message_data=[] table = Log._meta.db_table if original_data and fields: #change_value=jd.diff(original_data[0],request) change_value=jd.diff((original_data),dict(request),syntax=config.symmetric) updated_value = {key: value for key, value in change_value.items() if fields.get(key)} if updated_value: #updated_value = filter(lambda key:key in fields,change_value) mes={message_data.append(str(param.get(config.label))+' '+str(fields.get(k).get(config.label))+config.has_been_changed_from+str(updated_value.get(k)[0])+" to "+str(updated_value.get(k)[1])) for k in updated_value.keys()} id=original_data.get(config.id) else: logger.debug(config.actvity_update.format(config.Track_fields_not_match)) id=None if ChangeTag: if config.Added in ChangeTag.keys(): name=config.Updated msg=message_data.append(str(ChangeTag.get(config.Added).get(config.field)+" "+str( [j for i, j in enumerate(ChangeTag.get(config.Added).get(config.tag))])+" - "+ ChangeTag.get(config.Added).get(config.action)+" for "+str(param.get(config.label))+" "+request.get(config.name) )) id=original_data.get(config.id) if config.Removed in ChangeTag.keys(): msg=message_data.append(str(ChangeTag.get(config.Removed).get(config.field)+" "+str( [j for i, j in enumerate(ChangeTag.get(config.Removed).get(config.tag))])+" - "+ ChangeTag.get(config.Removed).get(config.action)+" From "+str(param.get(config.label))+" "+request.get(config.name) )) id=original_data.get(config.id) name=config.Updated elif param.get(config.label)==config.Workflow: id=param.get(config.workflow_id) name=config.Updated mes={message_data.append(str(param.get(config.label))+" "+config.has_been_changed_from+str(fields[0])+" to "+str(fields[1]))} message={} message.update({config.message:message_data}) elif param.get(config.action)==config.share: id=request.get(param.get(config.field)) name=config.Updated uname=[] def get_name(self,table_name,parameters,id): name=crud.get(table_name,parameters,config.where_id.format(id)) if table_name==config.auth_user: name=str(name[0].get(parameters[0])+" "+name[0].get(parameters[1])).title() if table_name==config.auth_group: name=str(name[0].get(parameters[0])).title() return name permission=map(lambda k:fields.get(k) if request.get(k)!=False else None,[i for i in fields.keys()]) if request.get(config.user_ids): uname=map(lambda id:get_name(self,config.auth_user,[config.first_name,config.last_name],id),request.get(config.user_ids)) mes={message_data.append(str(param.get(config.label))+" "+config.share_user_msg+" "+str(uname)+" "+config.with_key+" "+str([p for p in permission if p != None ])+" "+config.permissions)} if request.get(config.group_ids): groups=map(lambda gid:get_name(self,config.auth_group,[config.name],gid),request.get(config.group_ids)) mes={message_data.append(str(param.get(config.label))+" "+config.share_group_msg+" "+str(groups)+" "+config.with_key+" "+str([p for p in permission if p != None ])+" "+config.permissions )} message={} message.update({config.message:message_data}) elif param.get(config.label)==config.version: id=param.get(config.file_id) name=config.version #verion_count=crud.execute(crud.fetch_query("activity_log","version_count").format(param.get(config.file_id))) verion_count=crud.execute("select count(activity_log_log.id)from activity_log_log inner join activity_log_activity on activity_log_log.id=activity_log_activity.log_id where activity_log_activity.name like '%version%' and file_id="+id) verion_count=verion_count[0][0] mes={message_data.append(str(param.get(config.label))+" "+str(verion_count+1))} message={} message.update({config.message:message_data}) if id: log=crud.get(self.table,config.all,config.where +param.get(config.field)+'='+str(id)) log_id=log[0].get(config.id) if isinstance(log_id,int): for msg in message_data: activity.generate_activity(request,events.get(name),msg,log_id) else: logger.debug(config.Log_id_not_found,log_id) else: logger.debug(config.Data_before_update_not_awailable) else: Response(config.Parametter_missing)
def upload_file(self, request, *args, **kwargs): file = request.data.get('file') if request.data.get('directory_id') != 'null': modified_file_name = map( lambda x: x.replace("\'", "").strip() if x.find("'") != -1 else x.replace(' ', '_').strip(), file.name.split('.')) modified_file_name[-1] = '.' + modified_file_name[-1] modified_file_name.insert(-2, request.data.get('directory_id')) else: modified_file_name = map( lambda x: x.replace("\'", "").strip() if x.find("'") != -1 else x.replace(' ', '_').strip(), file.name.split('.')) modified_file_name[-1] = '.' + modified_file_name[-1] try: if not os.path.isdir(settings.MEDIA_ROOT + str(request.user.id)): os.mkdir(settings.MEDIA_ROOT + str(request.user.id)) upload_dir = default_storage.save(''.join(modified_file_name), ContentFile(file.read())) user_name = request.user.first_name + request.user.last_name user_id = request.user.id tmp_file = os.path.join(settings.MEDIA_ROOT, upload_dir) encrypt_file( os.path.join(settings.MEDIA_ROOT, upload_dir), os.path.join(settings.MEDIA_ROOT + str(request.user.id), base64.b16encode(upload_dir)), '123') os.remove(tmp_file) file_data = { c.name: file.name, "modified_file_name": ''.join(modified_file_name), "file_type": file.name.split('.')[-1] or 'n/a', "size": file.size, "file_content_type": file.content_type, "created_by_id": request.user.id, "owner_id": request.user.id, "created_date": datetime.now(), "modified_date": datetime.now() } connection_es.index(index='dms_test', doc_type='post', body={ 'name': file.name, 'type': 'File', 'content_type': file.content_type, 'owner_id': request.user.id }) if request.data.get('directory_id') != 'null': file_data.update( {c.directory_id: request.data.get('directory_id')}) param = { 'field': 'file_id', 'label': 'File', 'user_name': user_name } act_log_data = file_data response = crud.add(self.table, file_data) file_data.update({"id": response}) act_log_data.update({'user_id': user_id}) log_view = LogView() log_view.generate_log(act_log_data, param) return Response(response) except Exception as e: return Response({"error": e})
def update(self, request, pk=None): try: uam_func_sync(request, c.strUAMLink, c.strAppName, c.strAppClient, "File Manager ", "Update", request.session.session_key, request.META.get('HTTP_X_FORWARDED_FOR')) except Exception as e: logger.info(e) user_name = request.user.first_name + request.user.last_name try: # request = dict(request.data) param = { 'field': 'directory_id', 'label': 'Directory', 'user_name': user_name } # print "\n\n\n@@@@@@data @@",request.data # payload = request.data # #payload=serializer.data # print "original data:%%%%%%%%,",payload original_data = crud.get(self.table, c.all, 'where id=' + str(pk))[0] # tags = crud.execute("select tag_id from file_manager_directory_tags where directory_id={}".format(pk)) # shared_ids = crud.execute("select id from file_manager_share where directory_id={}".format(pk)) # original_data.update({c.tags:list(tags and zip(*tags)[0]), 'shared_ids':list(shared_ids and zip(*shared_ids)[0])}) # logger.debug("Files:: get_parent_dirs: Parent Files{}".format(original_data)) # #try: # payload.update({"id":pk}) # tags = payload.pop(c.tags) # file_ids=payload.pop("file_ids") # parent_id=payload.pop("parent_id") # shared_ids = payload.pop("shared_ids") # sub_directories=payload.pop("sub_directories") # workflow_id=payload.pop(c.workflow_id) # response = crud.update(self.table,payload ) # print "Response",response param = { 'field': 'directory_id', 'label': 'Directory', 'user_name': user_name } original_data = crud.get(self.table, c.all, 'where id=' + str(pk))[0] dir_obj = Directory.objects.get(id=pk) serializer = DirectorySerializer(dir_obj, data=request.data) if serializer.is_valid(): tag_details = self.tag_change(pk, request.data, "directory") new_tag_ids = {} old_tag_ids = {} added_tag = tag_details.get("added_tag") deleted_tag = tag_details.get("deleted_tag") new_tag_ids.update(tag_details.get("new_tag_ids")) old_tag_ids.update(tag_details.get("old_tag_ids")) directory_update = request.data for i in directory_update.keys(): if i in [ c.tags, 'parent_id', 'workflow_id', 'shared_dirs', 'file_ids', 'sub_directories' ]: if i == c.tags: update_tag = directory_update.pop(i) else: directory_update.pop(i) directory_id = crud.update(self.table, directory_update) if added_tag: for tag in added_tag: directory_tag_data = { c.directory_id: directory_id, "tag_id": new_tag_ids.get(tag) } crud.add(c.tag_dir_rel, directory_tag_data) if deleted_tag: for tag in deleted_tag: try: crud.execute( "delete from file_manager_directory_tags where tag_id={} and directory_id={}" .format(old_tag_ids.get(tag), pk), True) except Exception as err: return Response(err) logger.debug("Files:: Serializer{}".format(request.data)) log_view = LogView() original_data1 = {} map( lambda x: original_data1.update( {str(x): original_data.get(x)}), original_data) # original_data1.update({c.tags:old_tag}) current_data = request.data current_data.update({'user_id': request.user.id}) ChangeTag = {} if added_tag: ChangeTag.update({ "Added": { c.field: "Tag", "tag": [Tag for Tag in added_tag], "action": "Added" } }) if deleted_tag: ChangeTag.update({ "Removed": { c.field: "Tag", "tag": [Tag for Tag in deleted_tag], "action": "Removed" } }) log_view.generate_log( current_data, param, original_data1, self.track_fields, ChangeTag, ) return Response( crud.get(self.table, c.all, c.where_id_param.format(directory_id))) else: logger.debug("Files:: Serializer{}".format(serializer.errors)) return Response(serializer.errors) except Exception as err: return Response(err)
def create(self, request): """ <b>Author: </b> Manickam \n Service to create a new Directory. Send payload based on Example value. \n """ try: uam_func_sync(request, c.strUAMLink, c.strAppName, c.strAppClient, "File Manager ", "Create", request.session.session_key, request.META.get('HTTP_X_FORWARDED_FOR')) except Exception as e: logger.info(e) user_name = request.user.first_name + request.user.last_name user_id = request.user.id # directory_data = request.data # tags = directory_data.pop(c.tags) # response = crud.add(self.table, directory_data) # return Response(response) serializer = DirectorySerializer(data=request.data) if serializer.is_valid(): directory_data = request.data tag = [ istags for istags in directory_data.keys() if istags == c.tags ] if istags: tags = directory_data.pop("tags") directory_data.update({ 'created_date': datetime.now(), 'modified_date': datetime.now(), 'created_by_id': directory_data.get('owner_id'), 'modified_by_id': directory_data.get('owner_id') }) #tags = directory_data.pop(c.tags) # directory_data.update({c.created_date:datetime.now(),c.modified_date:datetime.now(),c.created_by_id:directory_data.get(c.owner_id),c.modified_by_id:directory_data.get(c.owner_id)}) directory_id = crud.add(self.table, directory_data) if tags: for tag in tags: directory_tag_data = { c.directory_id: directory_id, c.tag_id: tag } crud.add(c.tag_dir_rel, directory_tag_data) param = { 'field': 'directory_id', 'label': 'Directory', 'user_name': user_name } # self.add_log(act_log_data=serializer.data) act_log_data = request.data act_log_data.update({'id': directory_id, 'user_id': user_id}) log_view = LogView() log_view.generate_log(act_log_data, param) # return Response(directory_id) # act_log_data=request.data # act_log_data.update({'id':directory_id}) # log_view = LogView() # log_view.generate_log(act_log_data,param)e response = crud.get(self.table, c.all, c.where_id_param.format(directory_id)) return Response(response[0]) else: return Response(serializer.errors)