Exemplo n.º 1
0
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 "
Exemplo n.º 2
0
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
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
 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})
Exemplo n.º 6
0
def add(args):
    crud.add(args.add_desc)
Exemplo n.º 7
0
    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)       
Exemplo n.º 8
0
    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})
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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)