Beispiel #1
0
    def download_thread():
        try:
            cherrypy.log("Thread Start User: {}".format(user))

            try:
                session = newman_email.login(user, passwd, logfile)
                fldr = "{}/emails/{}".format(webroot, user)
                cherrypy.log("Login User: {}".format(user))

                if os.path.exists(fldr):
                    rmrf(fldr)

                mkdir(fldr)

                spit("{}/output.csv".format(fldr),
                     newman_email.headerrow() + "\n")

                mkdir(fldr + "/emails")

                newman_email.download(session, user, fldr, int(limit), logfile)

                spit(logfile, "[Completed Download] {}\n".format(user))
            except Exception as ex:
                spit(logfile, "[Error] {}\n".format(ex))
                cherrypy.log("[Error] {}\n".format(ex))
            except:
                spit(logfile, "[Error]")
                cherrypy.log("[Error]")
                error_info = sys.exc_info()[0]
                cherrypy.log(error_info)
                spit(logfile,
                     "[Error] {}\n".format(error_info.replace('\n', ' ')))

            finally:
                newman_email.close_session(session)

        except:
            error_info = sys.exc_info()[0]
            cherrypy.log(error_info)
            spit(logfile, "[Error] {}\n".format(error_info.replace('\n', ' ')))
Beispiel #2
0
    def download_thread():
        try:
            cherrypy.log("Thread Start User: {}".format(user))

            try: 
                session = newman_email.login(user, passwd, logfile)
                fldr = "{}/emails/{}".format(webroot, user)    
                cherrypy.log("Login User: {}".format(user))

                if os.path.exists(fldr):
                    rmrf(fldr)

                mkdir(fldr)

                spit("{}/output.csv".format(fldr), newman_email.headerrow() + "\n")

                mkdir(fldr + "/emails")

                newman_email.download(session, user, fldr, int(limit), logfile)

                spit(logfile, "[Completed Download] {}\n".format(user))
            except Exception as ex:
                spit(logfile, "[Error] {}\n".format(ex))
                cherrypy.log("[Error] {}\n".format(ex))
            except:
                spit(logfile, "[Error]")
                cherrypy.log("[Error]")
                error_info = sys.exc_info()[0]
                cherrypy.log(error_info)
                spit(logfile, "[Error] {}\n".format(error_info.replace('\n', ' ')))

            finally: 
                newman_email.close_session(session)

        except:
            error_info = sys.exc_info()[0]
            cherrypy.log(error_info)
            spit(logfile, "[Error] {}\n".format(error_info.replace('\n', ' ')))
Beispiel #3
0
def buildExportable(*args):
    webroot = cherrypy.config.get("webroot")
    target = getOpt('target')
    base_src = "{}/emails/{}".format(webroot, target)
    tmp_dir = os.path.abspath("{}/../tmp/".format(webroot))
    download_dir = "{}/downloads/".format(webroot)
    tar_gz = "export_{}".format(fmtNow())
    base_dest = os.path.abspath("{}/../tmp/newman_dl".format(webroot))

    if os.path.exists(base_dest):
        rmrf(base_dest)
    if not os.path.exists(download_dir):
        mkdir(download_dir)
    mkdir(base_dest)

    # Get list of paths...
    stmt = (" SELECT id, dir FROM email WHERE exportable='true' ")
    msg = ''
    paths_to_copy = []
    tangelo.content_type("application/json")
    with newman_connector() as read_cnx:
        with execute_query(read_cnx.conn(), stmt) as qry:
            for email_id, val in qry.cursor():
                src = "{}/{}/".format(base_src, val)
                dest = "{}/{}/".format(base_dest, val)
                shutil.copytree(src, dest)

    # compress dir
    shutil.make_archive("{}/{}".format(tmp_dir, tar_gz),
                        "gztar",
                        root_dir=base_dest)

    # move to web downloads
    mv("{}/{}.tar.gz".format(tmp_dir, tar_gz),
       "{}/{}.tar.gz".format(download_dir, tar_gz))

    return {"file": "downloads/{}.tar.gz".format(tar_gz)}
Beispiel #4
0
def buildExportable(*args):
    webroot = cherrypy.config.get("webroot")
    target = getOpt('target')	
    base_src = "{}/emails/{}".format(webroot,target)
    tmp_dir = os.path.abspath("{}/../tmp/".format(webroot))
    download_dir = "{}/downloads/".format(webroot)
    tar_gz = "export_{}".format(fmtNow())
    base_dest = os.path.abspath("{}/../tmp/newman_dl".format(webroot))

    if os.path.exists(base_dest):
        rmrf(base_dest)
    if not os.path.exists(download_dir):
        mkdir(download_dir)
    mkdir(base_dest)
	
    # Get list of paths... 
    stmt = (
        " SELECT id, dir FROM email WHERE exportable='true' "
    )
    msg = ''
    paths_to_copy = []
    tangelo.content_type("application/json")        
    with newman_connector() as read_cnx:
        with execute_query(read_cnx.conn(), stmt) as qry:
            for email_id, val in qry.cursor():
                src = "{}/{}/".format(base_src,val)
                dest = "{}/{}/".format(base_dest, val)
                shutil.copytree(src, dest)

    # compress dir
    shutil.make_archive("{}/{}".format(tmp_dir, tar_gz), "gztar", root_dir=base_dest) 

    # move to web downloads
    mv("{}/{}.tar.gz".format(tmp_dir, tar_gz), "{}/{}.tar.gz".format(download_dir, tar_gz))

    return { "file" : "downloads/{}.tar.gz".format(tar_gz) }
Beispiel #5
0
def setup(_dir):
    if os.path.exists(_dir):
        rmrf(_dir)
    mkdir(_dir)
Beispiel #6
0
def setup(_dir):
    if os.path.exists(_dir):
        rmrf(_dir)
    mkdir(_dir)