Ejemplo n.º 1
0
    def cmdUpdate(self, pkg, flag):



        if pkg == None:
            # Query for all installed packages
            prog_list = db_wrapper.get_applications(mydb)

        else:
            # Query db for requested package
            prog_list = (True,  pkg )
            #print(prog_list[1])

        print("Checking for updates")
        for p in prog_list[1]:
            print(p + ":")
            result = db_wrapper.get_app_version(mydb, p)


            if flag.keep_going or (result[0] == True and result[1] != []) :

                if result[1] != []:
                    pkg_version = result[1][0]
                else:
                    pkg_version = "N/A"
                    pkg_current = "Not found"

            else:
                print("{0:15s} {1:10s} {2:10s}").format(p, "N/A", "Not found")
                continue


            # Check if new version has been checked "recently"
            # TODO: Define check frequency in settings.py
            if result[1] != []:
                last_checked = date.fromtimestamp(float(result[1][1]))
                today = date.fromtimestamp(time.time())

                # Check for new versions only once a day
#                if flag.force or (today - last_checked ) > timedelta(days=1):
#                    pass
                    # Check if out of date
                        # download new version if available
                        # set out-of-date

                    # Download updates if they are available and !(flag.no_execute)
                if not flag.no_execute:
                    prog = app(p, mydb, appLogFileName)
                    if prog.checkUpdates():
                        prog.dlUpdates()
Ejemplo n.º 2
0
from wpm_app import app

mydb = wpm_db.db("dbFile", "dbLog")

# Add vim to the db.
vim_name = unicode('gvim')
vim_url = "http://www.vim.org"
vim_dl_url = "http://www.vim.org/download.php"
vim_version = "1.2.3"
vim_regex = '".*vim.*\.exe"'
vim_version_regex = '\d+.*\d'


appLogFileName = "appLog"

validQuery, applications = db_wrapper.get_applications(mydb)

print 'All Applicaitons:', applications
if validQuery and not vim_name in applications:
    print 'adding vim to the db.'
    db_wrapper.add_app(mydb, vim_name, vim_version, vim_dl_url, vim_url)
    db_wrapper.add_exe_regex(mydb, vim_name, [vim_regex])
    db_wrapper.add_version_regex(mydb, vim_name, [vim_version_regex])

vim = app(vim_name, mydb, appLogFileName)
updatesAvail = vim.checkUpdates()
print 'gvim update available?', updatesAvail

if updatesAvail:
    vim.dlUpdates()
Ejemplo n.º 3
0
#!/usr/bin/env python
import wpm_db
import db_wrapper
import time

mydb = wpm_db.db("dbFile", "dbLog")

# Test Operations on Application Table
print("\nTest Operations on Application Table")
print("Unique App Insert Test", db_wrapper.add_app(mydb, "App", "1.0", "http://test_app.com", "http://test_app.com/dl", True))
print("Unique App Insert Test", db_wrapper.add_app(mydb, "latestApp", "1.2.3", "http://test.com", "http://test.com/dl"))
print(db_wrapper.get_applications(mydb))
print("Non-Unique App Insert Test", db_wrapper.add_app(mydb, "latestApp", "1.2.3", "http://test.com", "http://test.com/dl"))
print("Get Version Test", db_wrapper.get_app_version(mydb, "latestApp"))
print("Get URLs Test", db_wrapper.get_app_urls(mydb, "latestApp"))
print("Get UninstallFirst Flag - True", db_wrapper.get_app_uninstallFirst(mydb, "App"))
print("Get UninstallFirst Flag - False", db_wrapper.get_app_uninstallFirst(mydb, "latestApp"))
print("Get URLs Original", db_wrapper.get_app_urls(mydb, "latestApp"))
db_wrapper.update_main_url(mydb, "latestApp", "http://newTest.com/index.php")
print("After Change main URL", db_wrapper.get_app_urls(mydb, "latestApp"))
db_wrapper.update_download_url(mydb, "latestApp", "http://newTest.com/dl")
print("After Change dl URL", db_wrapper.get_app_urls(mydb, "latestApp"))
print("Update Version", db_wrapper.add_update_file(mydb, "latestApp", "1.5"))
print("Get Version", db_wrapper.get_app_version(mydb, "latestApp"))

# Test Operations on Dependency Table
print("\nTest Operations on Dependency Table")
print("Add Dependencies", db_wrapper.add_dependencies(mydb, "App", ["latestApp", "latestApp"]))
print("Get Dependency Name", db_wrapper.get_app_dependencies(mydb, "App"))
print("Add Dependencies - Error", db_wrapper.add_dependencies(mydb, "App", ["DNE"]))
Ejemplo n.º 4
0
    def cmdInfo(self, pkg, flag):

        if pkg == None:
            # Query for all installed packages
            prog_list = db_wrapper.get_applications(mydb)

        else:
            # Query db for requested package
            prog_list = (True,  pkg )
            #print(prog_list[1])

        # Print header to the package table
        print("")
        print("{0:15s} {1:10s} {2:10s}").format("Name", "Version", "Up-to-date?")
        print("{0:15s} {1:10s} {2:10s}").format("----", "-------", "-----------")
        for p in prog_list[1]:
            result = db_wrapper.get_app_version(mydb, p)

            pkg_current = "Y"

            if flag.keep_going or (result[0] == True and result[1] != []) :

                if result[1] != []:
                    pkg_version = result[1][0]
                else:
                    pkg_version = "N/A"
                    pkg_current = "Not found"

            else:
                print("{0:15s} {1:10s} {2:10s}").format(p, "N/A", "Not found")
                continue


            # Check if new version has been checked "recently"
            # TODO: Define check frequency in settings.py
            if result[1] != []:
                last_checked = date.fromtimestamp(float(result[1][1]))
                today = date.fromtimestamp(time.time())

                # Check for new versions only once a day
                if flag.force or (today - last_checked ) > timedelta(days=1):
                    pass
                    # Check if out of date
                        # download new version if available
                        # set out-of-date

                    # Download updates if they are available and !(flag.no_execute)
                    if not flag.no_execute:
                        prog = app(p, mydb, appLogFileName)
                        if prog.checkUpdates():
                            pkg_current = "Y"
                        else:
                            pkg_current = "N"
                        #print(prog.getExeURLs())
                        #prog.dlUpdates()


                else:
                    # If version has been checked already...
                    pkg_current = "N"

                # if out of date and !(flag.no_execute):
                    #prog.dlUpdates()

            # Display installed packages, version and up to date status
            print("{0:15s} {1:10s} {2:10s}").format(p, pkg_version, pkg_current)

        print("")