Exemple #1
0
    def run(self):
        filename = self.options.filename
        if not filename:
            filename = basepaths.getDbPath()
            print("Using default database (%s)" % filename)

        db.connectDatabase(filename, createIfNeeded=False)
        session = db.getSession()

        # Basic tests :
        if not len(session.query(db.Config).all()) >= 1:
            print(
                "Your database seems broken or not initialised properly. Start yokadi command line tool to do it"
            )
            sys.exit(1)

        # Start ical http handler
        if self.options.icalserver:
            yokadiIcalServer = YokadiIcalServer(self.options.tcpPort,
                                                self.options.tcpListen)
            yokadiIcalServer.start()

        # Start the main event Loop
        try:
            while event[1] != "SIGTERM":
                eventLoop()
                event[0] = True
        except KeyboardInterrupt:
            print("\nExiting...")
Exemple #2
0
    def run(self):
        filename = self.options.filename
        if not filename:
            filename = os.path.join(os.path.expandvars("$HOME"), ".yokadi.db")
            print "Using default database (%s)" % filename

        connectDatabase(filename, createIfNeeded=False)

        # Basic tests :
        if not (Task.tableExists() and Config.tableExists()):
            print "Your database seems broken or not initialised properly. Start yokadi command line tool to do it"
            sys.exit(1)

        # Start ical http handler
        if self.options.icalserver:
            yokadiIcalServer = YokadiIcalServer(self.options.tcpPort,
                                                self.options.tcpListen)
            yokadiIcalServer.start()

        # Start the main event Loop
        try:
            while event[1] != "SIGTERM":
                eventLoop()
                event[0] = True
        except KeyboardInterrupt:
            print "\nExiting..."
Exemple #3
0
def main():
    locale.setlocale(locale.LC_ALL, os.environ.get("LANG", "C"))
    parser = ArgumentParser()

    parser.add_argument("-d",
                        "--db",
                        dest="filename",
                        help="TODO database",
                        metavar="FILE")

    parser.add_argument("-c",
                        "--create-only",
                        dest="createOnly",
                        default=False,
                        action="store_true",
                        help="Just create an empty database")

    parser.add_argument("-v",
                        "--version",
                        dest="version",
                        action="store_true",
                        help="Display Yokadi current version")

    parser.add_argument('cmd', nargs='*')

    args = parser.parse_args()

    if args.version:
        print "Yokadi - %s" % utils.currentVersion()
        return

    if not args.filename:
        # Look if user define an env VAR for yokadi db
        args.filename = os.getenv("YOKADI_DB")
        if args.filename:
            print "Using env defined database (%s)" % args.filename
        else:
            args.filename = os.path.normcase(
                os.path.expanduser("~/.yokadi.db"))
            print "Using default database (%s)" % args.filename

    db.connectDatabase(args.filename)

    if args.createOnly:
        return

    db.setDefaultConfig()  # Set default config parameters

    cmd = YokadiCmd()
    try:
        if len(args.cmd) > 0:
            print " ".join(args.cmd)
            cmd.onecmd(" ".join(args.cmd))
        else:
            cmd.cmdloop()
    except KeyboardInterrupt:
        print "\n\tBreak ! (the nice way to quit is 'quit' or 'EOF' (ctrl-d)"
        sys.exit(1)
    # Save history
    cmd.writeHistory()
Exemple #4
0
    def run(self):
        filename = self.options.filename
        if not filename:
            filename = os.path.join(os.path.expandvars("$HOME"), ".yokadi.db")
            print("Using default database (%s)" % filename)

        db.connectDatabase(filename, createIfNeeded=False)
        session = db.getSession()

        # Basic tests :
        if not len(session.query(db.Config).all()) >=1:
            print("Your database seems broken or not initialised properly. Start yokadi command line tool to do it")
            sys.exit(1)

        # Start ical http handler
        if self.options.icalserver:
            yokadiIcalServer = YokadiIcalServer(self.options.tcpPort, self.options.tcpListen)
            yokadiIcalServer.start()

        # Start the main event Loop
        try:
            while event[1] != "SIGTERM":
                eventLoop()
                event[0] = True
        except KeyboardInterrupt:
            print("\nExiting...")
Exemple #5
0
def main():
    args = parse_args()
    db.connectDatabase(process_path(args.db))
    if args.daemon:
        pidfile = process_path(args.daemon)
        logfile = process_path(args.log)
        daemon = Daemon(run=app_run, pidfile=pidfile, stderr=logfile)
        daemon.start()
    else:
        app_run(debug=args.debug)
Exemple #6
0
def main():
    args = parse_args()
    db.connectDatabase(process_path(args.db))
    if args.daemon:
        pidfile = process_path(args.daemon)
        logfile = process_path(args.log)
        daemon = Daemon(run=app_run, pidfile=pidfile, stderr=logfile)
        daemon.start()
    else:
        app_run(debug=args.debug)
Exemple #7
0
def clearDatabase():
    """
    Clear all tables of the database. Should be called in the setUp() method of
    the testcase. Useful to ensure unit-tests start from a blank state.
    """
    print "Cleaning database"
    for table in db.TABLE_LIST:
        table.dropTable()
    # Recreate database and default parameters
    db.connectDatabase("", memoryDatabase=True)
    db.setDefaultConfig()
Exemple #8
0
def clearDatabase():
    """
    Clear all tables of the database. Should be called in the setUp() method of
    the testcase. Useful to ensure unit-tests start from a blank state.
    """
    print "Cleaning database"
    for table in db.TABLE_LIST:
        table.dropTable()
    # Recreate database and default parameters
    db.connectDatabase("", memoryDatabase=True)
    db.setDefaultConfig()
Exemple #9
0
def main():
    locale.setlocale(locale.LC_ALL, os.environ.get("LANG", "C"))
    parser = ArgumentParser()

    parser.add_argument("-d", "--db", dest="filename",
                      help="TODO database", metavar="FILE")

    parser.add_argument("-c", "--create-only",
                      dest="createOnly", default=False, action="store_true",
                      help="Just create an empty database")

    parser.add_argument("-v", "--version",
                      dest="version", action="store_true",
                      help="Display Yokadi current version")

    parser.add_argument('cmd', nargs='*')

    args = parser.parse_args()

    if args.version:
        print("Yokadi - %s" % utils.currentVersion())
        return

    if not args.filename:
        # Look if user define an env VAR for yokadi db
        args.filename = os.getenv("YOKADI_DB")
        if args.filename:
            print("Using env defined database (%s)" % args.filename)
        else:
            args.filename = os.path.normcase(os.path.expanduser("~/.yokadi.db"))
            print("Using default database (%s)" % args.filename)

    db.connectDatabase(args.filename)

    if args.createOnly:
        return
    db.setDefaultConfig()  # Set default config parameters

    cmd = YokadiCmd()

    try:
        if len(args.cmd) > 0:
            print(" ".join(args.cmd))
            cmd.onecmd(" ".join(args.cmd))
        else:
            cmd.cmdloop()
    except KeyboardInterrupt:
        print("\n\tBreak ! (the nice way to quit is 'quit' or 'EOF' (ctrl-d)")
        sys.exit(1)
    # Save history
    cmd.writeHistory()
Exemple #10
0
def main():
    parser = ArgumentParser()
    parser.add_argument('db', metavar='<db>')
    args = parser.parse_args()

    dbname = args.db
    if os.path.exists(dbname):
        os.unlink(dbname)

    db.connectDatabase(dbname)
    db.setDefaultConfig()
    session = db.getSession()

    for name in PROJECTS:
        session.add(db.Project(name=name))

    for name in KEYWORDS:
        dbutils.getOrCreateKeyword(name, interactive=False)

    dbutils.addTask("birthday", "Buy food", {"grocery": None})
    dbutils.addTask("birthday", "Buy drinks", {"grocery": None})
    dbutils.addTask("birthday", "Invite Bob", {"phone": None})
    dbutils.addTask("birthday", "Invite Wendy", {"phone": None})
    dbutils.addTask("birthday", "Bake a yummy cake")
    dbutils.addTask("birthday", "Decorate living-room")

    task = dbutils.addTask("home", "Fix leak in the roof")
    task.dueDate = ydateutils.parseHumaneDateTime("-2d")

    dbutils.addTask("home", "Buy AAA batteries for kid toys",
                    {"grocery": None})

    task = dbutils.addTask("home", "Bring the car to the garage")
    task.dueDate = ydateutils.parseHumaneDateTime("-1d")
    task.status = "done"

    task = dbutils.addTask("work", "Finish weekly report")
    task.dueDate = ydateutils.parseHumaneDateTime("+4d")
    task.description = """Include results from Acme department: http://acme.intranet/results.
    Don't forget to CC [email protected].
    """

    session.commit()

    return 0
Exemple #11
0
def main():
    parser = ArgumentParser()
    parser.add_argument('db', metavar='<db>')
    args = parser.parse_args()

    dbname = args.db
    if os.path.exists(dbname):
        os.unlink(dbname)

    db.connectDatabase(dbname)
    db.setDefaultConfig()
    session = db.getSession()

    for name in PROJECTS:
        session.add(db.Project(name=name))

    for name in KEYWORDS:
        dbutils.getOrCreateKeyword(name, interactive=False)

    dbutils.addTask("birthday", "Buy food", {"grocery": None})
    dbutils.addTask("birthday", "Buy drinks", {"grocery": None})
    dbutils.addTask("birthday", "Invite Bob", {"phone": None})
    dbutils.addTask("birthday", "Invite Wendy", {"phone": None})
    dbutils.addTask("birthday", "Bake a yummy cake")
    dbutils.addTask("birthday", "Decorate living-room")

    task = dbutils.addTask("home", "Fix leak in the roof")
    task.dueDate = ydateutils.parseHumaneDateTime("-2d")

    dbutils.addTask("home", "Buy AAA batteries for kid toys", {"grocery": None})

    task = dbutils.addTask("home", "Bring the car to the garage")
    task.dueDate = ydateutils.parseHumaneDateTime("-1d")
    task.status = "done"

    task = dbutils.addTask("work", "Finish weekly report")
    task.dueDate = ydateutils.parseHumaneDateTime("+4d")
    task.description = """Include results from Acme department: http://acme.intranet/results.
    Don't forget to CC [email protected].
    """

    session.commit()

    return 0
Exemple #12
0
def main():
    locale.setlocale(locale.LC_ALL, os.environ.get("LANG", "C"))
    parser = createArgumentParser()
    args = parser.parse_args()
    dataDir, dbPath = commonargs.processArgs(args)

    basepaths.migrateOldHistory()
    try:
        basepaths.migrateOldDb(dbPath)
    except basepaths.MigrationException as exc:
        print(exc)
        return 1

    if args.update:
        return update.update(dbPath)

    try:
        db.connectDatabase(dbPath)
    except db.DbUserException as exc:
        print(exc)
        return 1

    if args.createOnly:
        return 0
    db.setDefaultConfig()  # Set default config parameters

    cmd = YokadiCmd()

    try:
        if len(args.cmd) > 0:
            print(" ".join(args.cmd))
            cmd.onecmd(" ".join(args.cmd))
        else:
            cmd.cmdloop()
    except KeyboardInterrupt:
        print("\n\tBreak ! (the nice way to quit is 'quit' or 'EOF' (ctrl-d)")
        return 1
    # Save history
    cmd.writeHistory()
    return 0
Exemple #13
0
def main():
    locale.setlocale(locale.LC_ALL, os.environ.get("LANG", "C"))
    parser = createArgumentParser()
    args = parser.parse_args()
    dataDir, dbPath = commonargs.processArgs(args)

    basepaths.migrateOldHistory()
    try:
        basepaths.migrateOldDb(dbPath)
    except basepaths.MigrationException as exc:
        print(exc)
        return 1

    if args.update:
        return update.update(dbPath)

    try:
        db.connectDatabase(dbPath)
    except db.DbUserException as exc:
        print(exc)
        return 1

    if args.createOnly:
        return 0
    db.setDefaultConfig()  # Set default config parameters

    cmd = YokadiCmd()

    try:
        if len(args.cmd) > 0:
            print(" ".join(args.cmd))
            cmd.onecmd(" ".join(args.cmd))
        else:
            cmd.cmdloop()
    except KeyboardInterrupt:
        print("\n\tBreak ! (the nice way to quit is 'quit' or 'EOF' (ctrl-d)")
        return 1
    # Save history
    cmd.writeHistory()
    return 0
Exemple #14
0
    def run(self):
        db.connectDatabase(self.dbPath, createIfNeeded=False)
        print("Using %s" % self.dbPath)
        session = db.getSession()

        # Basic tests :
        if not len(session.query(db.Config).all()) >= 1:
            print("Your database seems broken or not initialised properly. Start yokadi command line tool to do it")
            sys.exit(1)

        # Start ical http handler
        if self.options.icalserver:
            yokadiIcalServer = YokadiIcalServer(self.options.tcpPort, self.options.tcpListen)
            yokadiIcalServer.start()

        # Start the main event Loop
        try:
            while event[1] != "SIGTERM":
                eventLoop()
                event[0] = True
        except KeyboardInterrupt:
            print("\nExiting...")
Exemple #15
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     setDefaultConfig()
     self.session = db.getSession()
Exemple #16
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     self.session = db.getSession()
     tui.clearInputAnswers()
     self.cmd = YokadiCmd()
Exemple #17
0
def main():
    locale.setlocale(locale.LC_ALL, os.environ.get("LANG", "C"))
    parser = ArgumentParser()

    parser.add_argument("-d",
                        "--db",
                        dest="filename",
                        help="TODO database (default: %s)" %
                        basepaths.getDbPath(),
                        metavar="FILE")

    parser.add_argument("-c",
                        "--create-only",
                        dest="createOnly",
                        default=False,
                        action="store_true",
                        help="Just create an empty database")

    parser.add_argument("-u",
                        "--update",
                        dest="update",
                        action="store_true",
                        help="Update database to the latest version")

    parser.add_argument("-v",
                        "--version",
                        dest="version",
                        action="store_true",
                        help="Display Yokadi current version")

    parser.add_argument('cmd', nargs='*')

    args = parser.parse_args()

    if args.version:
        print("Yokadi - %s" % yokadi.__version__)
        return 0

    basepaths.migrateOldHistory()
    try:
        basepaths.migrateOldDb()
    except basepaths.MigrationException as exc:
        print(exc)
        return 1

    if not args.filename:
        args.filename = basepaths.getDbPath()
        fileutils.createParentDirs(args.filename)

    if args.update:
        return update.update(args.filename)

    try:
        db.connectDatabase(args.filename)
    except db.DbUserException as exc:
        print(exc)
        return 1

    if args.createOnly:
        return 0
    db.setDefaultConfig()  # Set default config parameters

    cmd = YokadiCmd()

    try:
        if len(args.cmd) > 0:
            print(" ".join(args.cmd))
            cmd.onecmd(" ".join(args.cmd))
        else:
            cmd.cmdloop()
    except KeyboardInterrupt:
        print("\n\tBreak ! (the nice way to quit is 'quit' or 'EOF' (ctrl-d)")
        return 1
    # Save history
    cmd.writeHistory()
    return 0
Exemple #18
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     # FIXME: Do this in db
     dbutils.getOrCreateKeyword(NOTE_KEYWORD, interactive=False)
     self.session = db.getSession()
     tui.clearInputAnswers()
Exemple #19
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     self.session = db.getSession()
     self.cmd = AliasCmd()
Exemple #20
0
def main():
    db.connectDatabase("", memoryDatabase=True)
    db.setDefaultConfig()

    unittest.main()
Exemple #21
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     self.session = db.getSession()
     tui.clearInputAnswers()
     self.cmd = YokadiCmd()
Exemple #22
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     self.session = db.getSession()
     self.cmd = AliasCmd()
Exemple #23
0
def main():
    db.connectDatabase("", memoryDatabase=True)
    db.setDefaultConfig()

    unittest.main()
Exemple #24
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     setDefaultConfig()
     self.session = db.getSession()
     tui.clearInputAnswers()
Exemple #25
0
 def setUp(self):
     db.connectDatabase("", memoryDatabase=True)
     # FIXME: Do this in db
     dbutils.getOrCreateKeyword(NOTE_KEYWORD, interactive=False)
     self.session = db.getSession()
     tui.clearInputAnswers()
Exemple #26
0
 def setUp(self):
     # Some help commands look into the db for default values
     db.connectDatabase("", memoryDatabase=True)
     db.setDefaultConfig()
Exemple #27
0
 def setUp(self):
     # Some help commands look into the db for default values
     db.connectDatabase("", memoryDatabase=True)
     db.setDefaultConfig()