Exemplo n.º 1
0
 def save(self, *args, **kwargs):
     if self.orgBD is None:
         raise InvestError(20071, msg='orgBD can`t be null')
     self.datasource = self.orgBD.datasource
     if self.event_date is None:
         self.event_date = datetime.datetime.now()
     if self.orgBD and not self.orgBD.is_deleted:
         self.orgBD.isSolved = True
         self.orgBD.lastmodifytime = self.lastmodifytime if self.lastmodifytime else datetime.datetime.now(
         )
         self.orgBD.save(update_fields=['isSolved', 'lastmodifytime'])
     if not self.pk:
         try:
             if self.orgBD.bduser:
                 remark = '项目名称:%s \n\r备注信息:%s' % (
                     self.orgBD.proj.projtitleC if self.orgBD.proj else '',
                     self.comments if self.comments else '')
                 UserRemarks(user=self.orgBD.bduser,
                             remark=remark,
                             createuser=self.createuser,
                             datasource=self.datasource).save()
         except Exception:
             logexcption(msg='同步备注到用户失败,OrgBD_id-%s ' % self.orgBD.id)
     kwargs['automodifytime'] = False
     return super(OrgBDComments, self).save(*args, **kwargs)
Exemplo n.º 2
0
def saveMessage(content,
                type,
                title,
                receiver,
                sender=None,
                modeltype=None,
                sourceid=None):
    try:
        data = {}
        data['content'] = content
        data['messagetitle'] = title
        data['type'] = type
        data['receiver'] = receiver.id
        data['datasource'] = receiver.datasource_id
        if modeltype:
            data['sourcetype'] = modeltype
        if sourceid:
            data['sourceid'] = sourceid
        if sender:
            data['sender'] = sender.id
        msg = MsgSerializer(data=data)
        if msg.is_valid():
            msg.save()
        else:
            raise InvestError(code=20019)
        return msg.data
    except InvestError as err:
        logexcption()
        return err.msg
    except Exception as err:
        logexcption()
        return err.message
Exemplo n.º 3
0
 def prepare_fileContent(self, obj):
     """obj 是django里的model实例"""
     filecontent = None
     if obj.isFile and obj.key:
         dataroomPath = os.path.join(APILOG_PATH['es_dataroomPDFPath'],
                                     'dataroom_{}'.format(obj.dataroom_id))
         file_path = os.path.join(dataroomPath, obj.key)
         try:
             if os.path.exists(file_path):
                 filename, type = os.path.splitext(file_path)
                 if type == '.docx':
                     doc = docx.Document(file_path)
                     filecontent = '\n'.join(
                         [paragraph.text for paragraph in doc.paragraphs])
                 elif type == '.doc':
                     filecontent = subprocess.check_output(
                         ["antiword", file_path])
                 elif type == '.pdf':
                     filecontent = getPdfWordContent(file_path)
                 elif type in ['.png', '.jpg', '.jpeg']:
                     filecontent = BaiDuAipGetImageWord(file_path)
                 elif type == '.txt':
                     with open(file_path, "r") as f:
                         text = f.read()
                         type = chardet.detect(text)
                         filecontent = text.decode(type["encoding"],
                                                   'ignore')
         except Exception:
             logexcption(msg='dataroom文件pdf内容提取失败')
     return filecontent
Exemplo n.º 4
0
        def executeTask(self, task_qs):

            for uploadtask in task_qs:
                uploadtask.status = 2
                uploadtask.starttime = datetime.datetime.now()
                uploadtask.save()
                try:
                    file_path = os.path.join(APILOG_PATH['uploadFilePath'], uploadtask.key)
                    if os.path.exists(file_path):
                        ret1, info1 = self.qiniuuploadfile(filepath=file_path, bucket_name=uploadtask.bucket, bucket_key=uploadtask.key)
                        uploadtask.success1 = ret1
                        uploadtask.info1 = info1
                        if uploadtask.convertToPDF:
                            converfile_path = os.path.join(APILOG_PATH['uploadFilePath'], uploadtask.convertKey)
                            self.convertAndUploadOffice(file_path, converfile_path)
                            if os.path.exists(converfile_path):
                                ret2, info2 = self.qiniuuploadfile(filepath=converfile_path, bucket_name=uploadtask.bucket, bucket_key=uploadtask.convertKey)
                                uploadtask.success2 = ret2
                                uploadtask.info2 = info2
                            else:
                                uploadtask.msg = '文件转换格式失败'
                    else:
                        uploadtask.msg = '上传文件不存在'
                except Exception:
                    logexcption(msg='文件上传七牛服务器失败')
                    uploadtask.msg = traceback.format_exc()
                uploadtask.status = 3
                uploadtask.endtime = datetime.datetime.now()
                uploadtask.save()
Exemplo n.º 5
0
def getAllProjectsNeedToSendMail():
    try:
        proj_qs = project.objects.filter(isSendEmail=True, is_deleted=False)
        saveEmailGroupSendData(proj_qs)
        proj_qs.update(**{'isSendEmail': False})
    except Exception as err:
        print err.message
        logexcption()
Exemplo n.º 6
0
def saveCompanySearchName(com_name, searchuser_id):
    try:
        data = {'com_name': com_name, 'searchuser_id': searchuser_id}
        serializer = CompanySearchNameSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
    except Exception:
        logexcption()
Exemplo n.º 7
0
def saveSendEmailDataToMongo(data):
    serializer = GroupEmailDataSerializer(data=data)
    try:
        if serializer.is_valid():
            serializer.save()
        else:
            raise InvestError(2001, msg=serializer.error_messages)
    except Exception:
        logexcption()
Exemplo n.º 8
0
def getAllProjectsNeedToSendMail():
    try:
        proj_qs = project.objects.filter(isSendEmail=True,
                                         is_deleted=False,
                                         datasource_id=1,
                                         projstatus_id=4)
        saveEmailGroupSendData(proj_qs)
        proj_qs.update(**{'isSendEmail': False})
    except Exception as err:
        logexcption()
Exemplo n.º 9
0
 def run(self):
     if sendSms:
         try:
             destination = receiver.mobile
             projectsign = 'v9pNC4'
             vars = {'user': receiver.usernameC}
             res = xsendSms(destination, projectsign, vars)
             print(res)
         except Exception:
             logexcption()
Exemplo n.º 10
0
        def run(self):
            types = self.types
            receiver = self.receiver
            model = self.model

            if isinstance(model, dataroom_User_file):
                if 'email' in types and sendEmail and checkEmailTrue(
                        receiver.email):
                    try:
                        destination = receiver.email
                        if receiver.datasource_id == 3:
                            projectsign = 'yMgMP'
                        elif receiver.datasource_id == 4:
                            projectsign = 'ewq604'
                        elif receiver.datasource_id == 5:
                            projectsign = 'aJbDc1'
                        else:
                            projectsign = 'umZlP3'
                        vars = {
                            'name':
                            receiver.usernameC,
                            'projectC':
                            getDataroomTitleWithSuperLink(
                                model.dataroom, 'cn'),
                            'projectE':
                            getDataroomTitleWithSuperLink(
                                model.dataroom, 'en')
                        }
                        xsendEmail(destination, projectsign, vars)
                    except Exception:
                        logexcption()
                if 'webmsg' in types and sendWebmsg:  # 发送通知以后,将站内信发送给该DataRoom项目的承揽承做PM
                    try:
                        msg_content = '已向用户【%s】发送了项目【%s】的dataroom邮件通知' % (
                            receiver.usernameC, model.dataroom.proj.projtitleC)
                        msg_title = '发送dataroom邮件通知记录'
                        user_ids = []
                        for proj_trader in model.dataroom.proj.proj_traders.filter(
                                is_deleted=False):
                            user_ids.append(proj_trader.user.id)
                        if model.dataroom.proj.PM:
                            user_ids.append(model.dataroom.proj.PM.id)
                        msg_receiverusers = MyUser.objects.filter(
                            id__in=user_ids).distinct()
                        for msg_receiver in msg_receiverusers:
                            saveMessage(msg_content,
                                        12,
                                        msg_title,
                                        msg_receiver,
                                        sender,
                                        modeltype='dataroomEmailMsg',
                                        sourceid=model.id)
                    except Exception:
                        logexcption()
Exemplo n.º 11
0
def sendEmailToUser():
    mongodatalist = readSendEmailDataFromMongo()
    for data in mongodatalist:
        try:
            userlist = data['users']
            projdata = data['proj']
            datasource = data['datasource']
            for user in userlist:
                sendProjEmailToUser(projdata, user, datasource)
        except Exception:
            logexcption()
Exemplo n.º 12
0
        def run(self):
            msgdic = MESSAGE_DICT['orgBdExpire']
            if 'email' in types and sendEmail and checkEmailTrue(
                    receiver.email):

                try:
                    destination = receiver.email
                    projectsign = msgdic['email_sign']
                    vars = {'html': content}
                    xsendEmail(destination, projectsign, vars)
                except Exception:
                    logexcption()
Exemplo n.º 13
0
def saveChatMessageDataToMongo(data):
    queryset = IMChatMessages.objects.all()
    if queryset(msg_id=data['msg_id']).count() > 0:
        pass
    else:
        serializer = IMChatMessagesSerializer(data=data)
        try:
            if serializer.is_valid():
                serializer.save()
            else:
                raise InvestError(2001, msg=serializer.error_messages)
        except Exception:
            logexcption()
Exemplo n.º 14
0
def downloadChatMessages():
    auth = AppClientAuth(org, app, client_id, client_secret)
    times = datetime.datetime.now() - datetime.timedelta(hours=2 * 1)
    strtime = times.strftime('%Y%m%d%H')
    url = 'http://a1.easemob.com/%s/%s/chatmessages/%s' % (org, app, strtime)
    success, res = get(url, auth)
    if success:
        fileurllist = res.get('data')
        for fileurldic in fileurllist:
            fileurl = fileurldic.get('url')
            getmsg(fileurl)
    else:
        logexcption(msg=str({'downloadchatmsg': res}))
    return success, res
Exemplo n.º 15
0
def downloadFileToPath(key,bucket,path):
    try:
        download_url = getUrlWithBucketAndKey(bucket, key)
        if download_url is None:
            raise InvestError(8002, msg='bucket/key error')
        r = requests.get(download_url)
        if r.status_code != 200:
            raise InvestError(8002, msg=repr(r.content))
        with open(path, "wb") as code:
            code.write(r.content)
    except Exception as err:
        logexcption(msg=str(err))
        return None
    else:
        return path
Exemplo n.º 16
0
 def run(self):
     types = self.types
     receiver = self.receiver
     model = self.model
     sender = self.sender
     if isinstance(model, UserRelation):
         lang = 'cn'
         username = model.traderuser.usernameC
         if self.receiver.country:
             if self.receiver.country.areaCode not in [
                     '86', u'86', None, '', u''
             ]:
                 lang = 'en'
                 username = model.traderuser.usernameE
         msgdic = MESSAGE_DICT['traderadd']
         title = msgdic['title_%s' % lang]
         content = msgdic['content_%s' % lang] % username
         messagetype = msgdic['messagetype']
         if 'app' in types and sendAppmsg:
             try:
                 receiver_alias = receiver.id
                 bdage = 1
                 n_extras = {}
                 pushnotification(content, receiver_alias, bdage,
                                  n_extras)
             except Exception:
                 logexcption()
         if 'email' in types and sendEmail and checkEmailTrue(
                 receiver.email):
             try:
                 destination = receiver.email
                 projectsign = 'X6JEv3'
                 vars = {
                     'nameC': model.traderuser.usernameC,
                     'nameE': model.traderuser.usernameE
                 }
                 xsendEmail(destination, projectsign, vars)
             except Exception:
                 logexcption()
         if 'sms' in types and sendSms:
             try:
                 destination = receiver.mobile
                 projectsign = 'pT0yA4'
                 vars = {'user': model.traderuser.usernameC}
                 xsendSms(destination, projectsign, vars)
             except Exception:
                 logexcption()
         if 'webmsg' in types and sendWebmsg:
             try:
                 saveMessage(content,
                             messagetype,
                             title,
                             receiver,
                             sender,
                             modeltype='UserRelation',
                             sourceid=model.id)
             except Exception:
                 logexcption()
Exemplo n.º 17
0
 def qiniuuploadfile(self, filepath, bucket_name, bucket_key):
     try:
         uploading = True
         retry_times = 1
         ret, info = None, None
         while uploading and retry_times <= 3:
             retry_times += 1
             token = q.upload_token(bucket_name, bucket_key, 3600, policy={}, strict_policy=True)
             ret, info = put_file(token, bucket_key, filepath, version='v2')
             if info is not None:
                 if info.status_code == 200:
                     return True, info.text_body
         return False, info
     except Exception:
         logexcption(msg='文件上传七牛服务器失败')
         return False, traceback.format_exc()
Exemplo n.º 18
0
 def run(self):
     for webexuser in webEXUsers:
         name, email, role, meeting = webexuser.name, webexuser.email, webexuser.meetingRole, webexuser.meeting
         if sendEmail and checkEmailTrue(email):
             try:
                 if role == True:
                     projectsign = 'N7ygf2'
                     vars = {
                         'name':
                         name,
                         'title':
                         meeting.title,
                         'data':
                         meeting.agenda,
                         'time':
                         meeting.startDate.strftime('%Y-%m-%d %H:%M'),
                         'duration':
                         meeting.duration,
                         'meetingkey':
                         meeting.meetingKey,
                         'hostkey':
                         meeting.hostKey,
                         'password':
                         meeting.password,
                     }
                 else:
                     projectsign = 'Bk4EY4'
                     vars = {
                         'name':
                         name,
                         'title':
                         meeting.title,
                         'data':
                         meeting.agenda,
                         'time':
                         meeting.startDate.strftime('%Y-%m-%d %H:%M'),
                         'duration':
                         meeting.duration,
                         'meetingkey':
                         meeting.meetingKey,
                         'password':
                         meeting.password,
                     }
                 xsendEmail(email, projectsign, vars)
             except Exception:
                 logexcption()
Exemplo n.º 19
0
def get_openid(code):
    try:
        if code:
            url = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code' % (WX_APPID, WX_APPSECRET, code)
            response = requests.get(url).content
            res = json.loads(response.decode())
            openid = res.get('openid')
            if openid:
                return openid
            errcode = res.get('errcode')
            if errcode == 40163:
                raise InvestError(2050)
            logexcption(msg=str(res))
    except InvestError:
        raise InvestError(2050, msg='code失效')
    except Exception:
        raise InvestError(2049, msg='获取openid失败')
    else:
        return None
Exemplo n.º 20
0
def sendEmailToUser():
    mongodatalist = readSendEmailDataFromMongo()
    for data in mongodatalist:
        try:
            userlist = data['users']
            projdata = data['proj']
            datasource = data['datasource']
            emailgroupsendlist_qs = emailgroupsendlist.objects.filter(
                proj=projdata['id'])
            for user in userlist:
                try:
                    if emailgroupsendlist_qs.filter(user=user['id']).exists():
                        pass
                    else:
                        sendProjEmailToUser(projdata, user, datasource)
                except Exception:
                    logexcption()
        except Exception:
            logexcption()
Exemplo n.º 21
0
 def run(self):
     types = self.types
     receiver = self.receiver
     model = self.model
     sender = self.sender
     if isinstance(model, dataroom_User_file):
         if 'app' in types and sendAppmsg:
             try:
                 content = 'DataRoom有文件更新,点击查看详情'
                 receiver_alias = receiver.id
                 bdage = 1
                 n_extras = {}
                 pushnotification(content, receiver_alias, bdage,
                                  n_extras)
             except Exception:
                 logexcption()
         if 'email' in types and sendEmail and checkEmailTrue(
                 receiver.email):
             try:
                 destination = receiver.email
                 projectsign = 'umZlP3'
                 vars = {
                     'projectC':
                     getProjTitleWithSuperLink(model.dataroom.proj),
                     'projectE':
                     getProjTitleWithSuperLink(model.dataroom.proj,
                                               'en')
                 }
                 xsendEmail(destination, projectsign, vars)
             except Exception:
                 logexcption()
         if 'sms' in types and sendSms:
             try:
                 destination = receiver.mobile
                 projectsign = 'huvrW4'
                 vars = {'project': model.dataroom.proj.projtitleC}
                 xsendSms(destination, projectsign, vars)
             except Exception:
                 logexcption()
         if 'webmsg' in types and sendWebmsg:
             try:
                 content = '您的项目%s,DataRoom有文件更新,请登录后查看' % model.dataroom.proj.projtitleC
                 title = 'DataRoom有文件更新,点击查看详情'
                 messagetype = 7
                 saveMessage(content,
                             messagetype,
                             title,
                             receiver,
                             sender,
                             modeltype='dataroom_User_file',
                             sourceid=model.id)
             except Exception:
                 logexcption()
Exemplo n.º 22
0
def sendmessage_schedulemsg(model, receiver, types, sender=None):
    """
    :param model: schedule type
    :param receiver: myuser type
    :param types: list
    :param sender: myuser type
    :return: None
    """
    if checkReceiverToSendMsg(receiver) and receiver.datasource_id not in [
            3, 4
    ]:
        if isinstance(model, schedule):
            lang = 'cn'
            if receiver.country:
                if receiver.country.areaCode not in [
                        '86', u'86', None, '', u''
                ]:
                    lang = 'en'
            msgdic = MESSAGE_DICT['schedulemsg']
            title = msgdic['title_%s' % lang]
            content = msgdic['content_%s' % lang]
            messagetype = msgdic['messagetype']
            if 'app' in types and sendAppmsg:
                try:
                    receiver_alias = receiver.id
                    bdage = 1
                    n_extras = {}
                    pushnotification(content, receiver_alias, bdage, n_extras)
                except Exception:
                    logexcption()
            if 'webmsg' in types and sendWebmsg:
                try:
                    saveMessage(content,
                                messagetype,
                                title,
                                receiver,
                                sender,
                                modeltype='schedule',
                                sourceid=model.id)
                except Exception:
                    logexcption()
Exemplo n.º 23
0
 def run(self):
     types = self.types
     receiver = self.receiver
     model = self.model
     sender = self.sender
     if isinstance(model, project):
         lang = 'cn'
         projtitle = model.projtitleC
         if self.receiver.country:
             if self.receiver.country.areaCode not in [
                     '86', u'86', None, '', u''
             ]:
                 lang = 'en'
                 projtitle = model.projtitleE
         msgdic = MESSAGE_DICT['projectpublish']
         title = msgdic['title_%s' % lang]
         content = msgdic['content_%s' % lang] % projtitle
         messagetype = msgdic['messagetype']
         if 'email' in types and sendEmail and checkEmailTrue(
                 receiver.email):
             try:
                 destination = receiver.email
                 projectsign = 'IszFR1'
                 vars = {
                     'projectC': getProjTitleWithSuperLink(model),
                     'projectE': getProjTitleWithSuperLink(model, 'en')
                 }
                 xsendEmail(destination, projectsign, vars)
             except Exception:
                 logexcption()
         if 'webmsg' in types and sendWebmsg:
             try:
                 saveMessage(content,
                             messagetype,
                             title,
                             receiver,
                             sender,
                             modeltype='project',
                             sourceid=model.id)
             except Exception:
                 logexcption()
Exemplo n.º 24
0
def sendProjEmailToUser(proj, user, datasource):
    emailaddress = user['email']
    data = {
        'proj': proj['id'],
        'projtitle': proj['Title'],
        'user': user['id'],
        'username': user['usernameC'],
        'userEmail': emailaddress,
        'isRead': False,
        'readtime': None,
        'isSend': False,
        'sendtime': datetime.datetime.now(),
        'errmsg': None,
        'datasource': datasource,
    }
    if emailaddress:
        varsdict = {
            'Title': proj['Title'],
            'Location': proj['Location'],
            'Industry': " ".join(proj['Industry']),
            'Tags': " ".join(proj['Tags']),
            'FAUSD': proj['FAUSD'],
            'TransactionType': " ".join(proj['TransactionType']),
            'B_introducteC': proj['B_introducteC'],
        }
        # response = xsendEmail(emailaddress, Email_project_sign, varsdict)
        # if response.get('status'):
        #     data['isSend'] = True
        #     data['sendtime'] = datetime.datetime.now()
        # else:
        #     data['errmsg'] = response
        data['errmsg'] = 'test group send'
    else:
        data['errmsg'] = 'email 缺失'
    emailsend = Emailgroupsendlistserializer(data=data)
    if emailsend.is_valid():
        emailsend.save()
    else:
        logexcption(msg=emailsend.error_messages)
Exemplo n.º 25
0
 def run(self):
     for webexuser in webEXUsers:
         name, email, role, meeting = webexuser.name, webexuser.email, webexuser.meetingRole, webexuser.meeting
         if sendEmail and checkEmailTrue(email):
             try:
                 if not role:
                     projectsign = '0PXbw'
                     vars = {
                         'name':
                         name,
                         'title':
                         meeting.title,
                         'data':
                         meeting.agenda,
                         'time':
                         meeting.startDate.strftime('%Y-%m-%d %H:%M'),
                         'duration':
                         meeting.duration
                     }
                     xsendEmail(email, projectsign, vars)
             except Exception:
                 logexcption()
Exemplo n.º 26
0
def pulishProjectCreateDataroom(proj,user):
    try:
        queryset = dataroom.objects.filter(is_deleted=False)
        projdataroom = queryset.filter(proj=proj, user_id=proj.supportUser_id, isPublic=False)
        publicdataroom = queryset.filter(proj=proj, isPublic=True)
        if projdataroom.exists():
            pass
        else:
            dataroomdata = {}
            dataroomdata['datasource'] = user.datasource_id
            dataroomdata['proj'] = proj.id
            dataroomdata['user'] = proj.supportUser_id
            dataroomdata['isPublic'] = False
            dataroomdata['createuser'] = user.id
            supportordataroomserializer = DataroomCreateSerializer(data=dataroomdata)
            if supportordataroomserializer.is_valid():
                supportdataroom = supportordataroomserializer.save()
                userlist1 = [supportdataroom.createuser, proj.makeUser, proj.takeUser, ]
                for user in userlist1:
                    add_perm('dataroom.user_getdataroom', user, supportdataroom)
                add_perm('dataroom.user_getdataroom', supportdataroom.user, supportdataroom)
                add_perm('dataroom.user_changedataroom', supportdataroom.user, supportdataroom)
        if publicdataroom.exists():
            pass
        else:
            dataroomdata = {}
            dataroomdata['proj'] = proj.id
            dataroomdata['user'] = proj.supportUser_id
            dataroomdata['isPublic'] = True
            dataroomdata['datasource'] = user.datasource_id
            dataroomdata['createuser'] = user.id
            publicdataroomserializer = DataroomCreateSerializer(data=dataroomdata)
            if publicdataroomserializer.is_valid():
                publicdataroom = publicdataroomserializer.save()
                creatpublicdataroomdirectorywithtemplate(user, publicdataroomid=publicdataroom.id)
    except Exception:
        logexcption(msg='public创建失败')
        pass
Exemplo n.º 27
0
 def prepare_fileContent(self, obj):
     filecontent = None
     if obj.key:
         file_path = APILOG_PATH['orgAttachmentsPath'] + obj.key
         try:
             if os.path.exists(file_path):
                 filename, type = os.path.splitext(file_path)
                 if type == '.docx':
                     doc = docx.Document(file_path)
                     filecontent = '\n'.join([paragraph.text for paragraph in doc.paragraphs])
                 elif type == '.doc':
                     filecontent = subprocess.check_output(["antiword", file_path])
                 elif type == '.pdf':
                     filecontent = getPdfWordContent(file_path)
                 elif type in ['.png', '.jpg', '.jpeg']:
                     filecontent = BaiDuAipGetImageWord(file_path)
                 elif type == '.txt':
                     with open(file_path, "r") as f:
                         text = f.read()
                         type = chardet.detect(text)
                         filecontent = text.decode(type["encoding"], 'ignore')
         except Exception:
             logexcption(msg='机构附件内容提取失败')
     return filecontent
Exemplo n.º 28
0
 def run(self):
     types = self.types
     receiver = self.receiver
     model = self.model
     sender = self.sender
     lang = 'cn'
     projtitle = '空'
     if model.proj:
         projtitle = model.proj.projtitleC
     if self.receiver.country:
         if self.receiver.country.areaCode not in [
                 '86', u'86', None, '', u''
         ]:
             lang = 'en'
             if model.proj:
                 projtitle = model.proj.projtitleE
     msgdic = MESSAGE_DICT['orgBDMessage']
     title = msgdic['title_%s' % lang]
     content = msgdic['content_%s' % lang] % projtitle
     messagetype = msgdic['messagetype']
     if 'app' in types and sendAppmsg:
         try:
             receiver_alias = receiver.id
             bdage = 1
             n_extras = {
                 'info': {
                     'proj': model.proj_id if model.proj else None,
                     'projtitle': projtitle,
                     'org': model.org_id if model.org else None,
                     'orgname':
                     model.org.orgnameC if model.org else None
                 },
                 'type': 'OrgBD'
             }
             pushnotification(content, receiver_alias, bdage, n_extras)
         except Exception:
             logexcption()
     if 'webmsg' in types and sendWebmsg:
         try:
             saveMessage(content,
                         messagetype,
                         title,
                         receiver,
                         sender,
                         modeltype='OrgBD',
                         sourceid=model.id)
         except Exception:
             logexcption()
     if 'sms' in types and sendSms:
         try:
             destination = receiver.mobile
             projectsign = msgdic['sms_sign']
             vars = {'proj': model.proj.projtitleC}
             xsendSms(destination, projectsign, vars)
         except Exception:
             logexcption()
Exemplo n.º 29
0
 def run(self):
     types = self.types
     receiver = self.receiver
     model = self.model
     sender = self.sender
     if isinstance(model, UserFriendship):
         lang = 'cn'
         if self.receiver.country:
             if self.receiver.country.areaCode not in [
                     '86', u'86', None, '', u''
             ]:
                 lang = 'en'
         msgdic = MESSAGE_DICT['usermakefriends']
         title = msgdic['title_%s' % lang]
         content = msgdic['content_%s' % lang]
         messagetype = msgdic['messagetype']
         if 'app' in types and sendAppmsg:
             try:
                 receiver_alias = receiver.id
                 bdage = 1
                 n_extras = {}
                 pushnotification(content, receiver_alias, bdage,
                                  n_extras)
             except Exception:
                 logexcption()
         if 'webmsg' in types and sendWebmsg:
             try:
                 saveMessage(content,
                             messagetype,
                             title,
                             receiver,
                             sender,
                             modeltype='UserFriendship',
                             sourceid=model.id)
             except Exception:
                 logexcption()
Exemplo n.º 30
0
 def convertAndUploadOffice(self, inputpath, outputpath):
     try:
         import subprocess
         subprocess.check_output(['python3', '/var/www/DocumentConverter.py', inputpath, outputpath],
                                 timeout=300)  # 执行完毕程序才会往下进行
     except ImportError:
         logexcption(msg='引入模块失败')
     except TimeoutExpired:
         logexcption(msg='文件转换超时')
     except Exception:
         logexcption(msg='文件转换失败')