def update():
    """build, deploy, reload"""
    bump_version()
    build()
    deploy()
    reload(path="services/attributes/version")
    version()
Beispiel #2
0
def fetch_url(url, **kwargs):
    """Fetch a URL."""
    session = requests.Session()
    session.headers.update({
        "User-Agent": "pyhole/%s" % version.version()
    })
    return session.get(url, **kwargs)
Beispiel #3
0
def fetch_url(url, **kwargs):
    """Fetch a URL."""
    session = requests.Session()
    session.headers.update({
        "User-Agent": "pyhole/%s" % version.version()
    })
    return session.get(url, **kwargs)
Beispiel #4
0
    def __init__(self, root):
        super().__init__(root)
        self["padx"] = 4
        self["pady"] = 4

        self.version = version.version()        
        self.title("Updates")
        self.resizable(FALSE, FALSE)
        placeWindow(self, 488, 127)

        try:
            newVersion = self.checkNewVersion()
            if newVersion:
                available = ("There is a new version ({}.{}.{}) available.\n".format(*newVersion) +
                             "Restart CMM to install the update.")
                optionWrite("DontShowVersion", self.version)
            else:
                available = "There is no new version available."
        except Exception:
            available = "Unable to get information about the newest version."

        text = "Your current version is {1}.{2}.{3}.\n\n{0}".format(available, *self.version)

        self.text = Text(self, height = 4, width = 58, relief = "flat",
                         background = self.cget("background"))
        self.text.grid(column = 0, row = 0, padx = 6, pady = 6)   
        self.text.insert("end", text)

        self.close = ttk.Button(self, text = "Close", command = self.destroy)
        self.close.grid(column = 0, row = 1, pady = 7)
Beispiel #5
0
def basinhopping():
    logger.info('Eon version %s', version())
    # First of all, does the root directory even exist?
    if not os.path.isdir(config.path_root):
        logger.critical("Root directory does not exist")
        sys.exit(1)

    # load metadata
    bhstates = BHStates()

    if os.path.isfile("wuid.dat"):
        wuid_file = open("wuid.dat")
        wuid = int(wuid_file.readline().strip())
        wuid_file.close()
    else:
        wuid = 0

    # get communicator
    comm = communicator.get_communicator()

    # Register all the results. There is  no need to ever discard found
    # processes like we do with akmc. There is no confidence to calculate.
    register_results(comm, bhstates)

    wuid = make_searches(comm, wuid, bhstates)

    wuid_file = open("wuid.dat", "w")
    wuid_file.write("%i\n" % wuid)
    wuid_file.close()

    io.save_prng_state()
Beispiel #6
0
    def __init__(self, root):
        super().__init__(root)
        self["padx"] = 4
        self["pady"] = 4

        self.title("Citation")
        self.resizable(FALSE, FALSE)
        placeWindow(self, 488, 135)

        v = version.version()
        year = version.date().split()[2]
        url = "https://github.com/bahniks/CM_Manager_{}_{}_{}".format(*v)
        text = ("Please cite this software as:\n\n" +
                "Bahník, Š. ({}). Carousel Maze Manager (Version {}.{}.{}) ".
                format(year, *v) + "[Software]. Available from {}".format(url))

        self.text = Text(self,
                         height=5,
                         width=70,
                         relief="flat",
                         wrap="word",
                         background=self.cget("background"))
        self.text.grid(column=0, row=0, padx=6, pady=6)
        self.text.insert("end", text)

        self.close = ttk.Button(self, text="Close", command=self.destroy)
        self.close.grid(column=0, row=1, pady=7)
Beispiel #7
0
    def __init__(self, root):
        super().__init__(root)
        self["padx"] = 4
        self["pady"] = 4

        self.version = version.version()
        self.title("Updates")
        self.resizable(FALSE, FALSE)
        placeWindow(self, 488, 127)

        try:
            newVersion = self.checkNewVersion()
            if newVersion:
                available = (
                    "There is a new version ({}.{}.{}) available.\n".format(
                        *newVersion) + "Restart CMM to install the update.")
                optionWrite("DontShowVersion", self.version)
            else:
                available = "There is no new version available."
        except Exception:
            available = "Unable to get information about the newest version."

        text = "Your current version is {1}.{2}.{3}.\n\n{0}".format(
            available, *self.version)

        self.text = Text(self,
                         height=4,
                         width=58,
                         relief="flat",
                         background=self.cget("background"))
        self.text.grid(column=0, row=0, padx=6, pady=6)
        self.text.insert("end", text)

        self.close = ttk.Button(self, text="Close", command=self.destroy)
        self.close.grid(column=0, row=1, pady=7)
Beispiel #8
0
    def writeLog(self):
        "writes the log"
        filepath = optionGet("LogDirectory",
                             os.path.join(os.getcwd(), "Stuff", "Logs"), "str")
        writeTime = localtime()
        self.filename = os.path.join(
            filepath,
            strftime("%y_%m_%d_%H%M%S", writeTime) + ".txt")

        self.problem = False
        for method in self.methods:
            if self.methodProblems[method]:
                self.problem = True

        with open(self.filename, mode="w") as logfile:
            logfile.write("CM Manager version " + ".".join(version()) + "\n\n")
            logfile.write("Date: " + strftime("%d %b %Y", writeTime) + "\n")
            logfile.write("Time: " + strftime("%H:%M:%S", writeTime) +
                          "\n\n\n")
            self._writeProblems(logfile)
            self._writeMethods(logfile)
            self._writeTime(logfile)
            self._writeSaveIn(logfile)
            logfile.write("Reflections removed in:\n\t" +
                          self.removeReflections + "\n\n\n")
            self._writeFiles(logfile)
            self._writeAddedReflections(logfile)
def basinhopping():
    logger.info('Eon version %s', version())
    # First of all, does the root directory even exist?
    if not os.path.isdir(config.path_root):
        logger.critical("Root directory does not exist")
        sys.exit(1)

    # load metadata
    bhstates = BHStates()

    if os.path.isfile("wuid.dat"):
        wuid_file = open("wuid.dat")
        wuid = int(wuid_file.readline().strip())
        wuid_file.close()
    else:
        wuid = 0

    # get communicator
    comm = communicator.get_communicator()

    # Register all the results. There is  no need to ever discard found
    # processes like we do with akmc. There is no confidence to calculate.
    register_results(comm, bhstates)

    wuid = make_searches(comm, wuid, bhstates)

    wuid_file = open("wuid.dat","w")
    wuid_file.write("%i\n" % wuid)
    wuid_file.close()

    io.save_prng_state()
Beispiel #10
0
    def _info(self, cnf = ''):
        "create header"
        nbeads = len(self.config.beads)
        def _avg(fcn):
            itr  = (fcn(*i) for i in self.iterate())
            vals = [i for i in itr if i is not None]
            return np.median(vals) if vals else None

        if isinstance(cnf, list):
            strcf = dumps(cnf, indent = 4, ensure_ascii = False, sort_keys = True)
            beads = next((i.beads
                          for i in cnf if i.__class__.__name__ == 'BeadSubtractionTask'),
                         [])
            sub   = ('∅' if len(beads) == 0 else beads[0] if len(beads) ==1 else
                     ''.join(str(i) for i in beads))
        else:
            strcf = cnf
            sub   = '?'

        # pylint: disable=no-member
        return ([("Cycle Count:", self.config.track.ncycles),
                 ("Bead Count",   f"{nbeads} / {nbeads+len(self.config.errs)}"),
                 ("Subtracted",   sub)],
                [("σ[HF] (µm):",       _avg(self._uncert)),
                 ("Events per Cycle:", _avg(self._evts)),
                 ("Down Time Φ₅ (s):", _avg(self._downtime))],
                [("GIT Version:",      version.version()),
                 ("GIT Hash:",         version.lasthash()),
                 ("GIT Date:",         version.hashdate()),
                 ("Config:",           strcf)])
Beispiel #11
0
def src():
    version_string = version.version()
    source_name = "torscraper-%s.tar.gz" % version_string
    source_link = "/static/%s" % source_name
    return render_template('src.html',
                           source_name=source_name,
                           source_link=source_link)
 def _get_system_version(self):
     if self._version == '':
         try:
             self._version = version(
                 self.get_system_info()['version'].split('-')[0])
         except WebFault as e:
             raise api_exception(e.message)
Beispiel #13
0
 def _export_git() -> List[Tuple[pd.DataFrame, Dict[str, Any]]]:
     itms = [("GIT Version:", version.version()),
             ("GIT Hash:", version.lasthash()),
             ("GIT Date:", version.hashdate())]
     return [(pd.DataFrame(
         dict(
             key=[i for i, _ in itms],
             value=[j for _, j in itms],
         )), dict(header=False, sheet_name="Tracks"))]
Beispiel #14
0
def setupArguments(p, client):
    """Adds command line arguments common to both the server and client to the ArgumentParser p.

    client -- Boolean value indicating whether the caller is the client or server."""
    import version
    p.add_argument("-b", "--boardpath", help="The directory to search for boards in.")
    p.add_argument("-l", "--logfile", help="The file to write logs to. Defaults to ~/.empyre/%s/log" % ("client" if client else "server"))
    p.add_argument("-n", "--no-logging", action="store_true", help="Don't write to log file.")
    p.add_argument("-d", "--debug", action="store_true", help="Displays debugging information.")
    p.add_argument("-q", "--quiet", action="store_true", help="Don't output any debug or information lines; warnings and errors will still be output.")
    p.add_argument("-s", "--silent", action="store_true", help="Suppresses all output, even warnings and errors.")
    p.add_argument("-v", "--version", action="version", version=version.version())
Beispiel #15
0
def appversion() -> int:
    "app version"
    strvers: str = _version.version()
    if '_v' in strvers:
        strvers = strvers[strvers.rfind('_v') + 2:]

    if '-' in strvers:
        strvers = strvers[:strvers.find('-')]
    strvers = strvers.replace('+', '')

    return sum(
        int(i if i else 0) * j for i, j in zip(strvers.split('.'), (1000, 1)))
Beispiel #16
0
 def checkNewVersion(self):
     "checks whether there is a new version available"
     newVersion = self.returnSiteContent("http://www.cmmanagerweb.appspot.com/version").\
                  split(".")
     versionSeen = optionGet("DontShowVersion", version(), "list")
     for i in range(3):
         if int(newVersion[i]) > int(versionSeen[i]):
             DialogBox(self, title = "New version available", message =
                       self.returnSiteContent(
                                     "http://www.cmmanagerweb.appspot.com/version/message"),
                       dontShowOption = "DontShowVersion", optionValue = newVersion)
             break            
 def reset(self):
     self.system = System.getInstance()
     self.config = AttributeDict()
     
     self.resources = [ ]
     self.delayedActions = set()
     
     now = datetime.now()
     self.updateConfig({
         'date': now, 
         'pynode.version': version(),
         'pynode.longVersion': longVersion(),
         'pynode.backup.path': '/tmp/pynode/backup',
         'pynode.backup.prefix': now.strftime("%Y%m%d%H%M%S"),
     })
Beispiel #18
0
 def checkNewVersion(self):
     "checks whether there is a new version available"
     newVersion = self.returnSiteContent("http://www.cmmanagerweb.appspot.com/version").\
                  split(".")
     versionSeen = optionGet("DontShowVersion", version(), "list")
     for i in range(3):
         if int(newVersion[i]) > int(versionSeen[i]):
             DialogBox(
                 self,
                 title="New version available",
                 message=self.returnSiteContent(
                     "http://www.cmmanagerweb.appspot.com/version/message"),
                 dontShowOption="DontShowVersion",
                 optionValue=newVersion)
             break
Beispiel #19
0
def main():
    "starts CMM"
    modules = os.path.join(os.getcwd(), "Stuff", "Modules")

    # developer?
    try:
        if os.path.exists(modules):
            sys.path.append(modules)
            from optionget import optionGet
            if optionGet("Developer", False, 'bool'):
                from starter import main as start
                start()
                return
    except Exception:
        pass

    # new version?
    try:
        if os.path.exists(modules):
            if modules not in sys.path:
                sys.path.append(modules)
            from version import version
            version = version()
        else:
            version = [0, 3, 4]
    except Exception:
        version = [0, 3, 4]
    try:
        checkNewVersion(version)
    except Exception:
        pass

    # starting
    try:
        if modules not in sys.path:
            sys.path.append(modules)
        from starter import main as start
    except Exception as e:
        root = makeRoot()
        messagebox.showinfo(title="Error",
                            icon="error",
                            detail=e,
                            message="Unable to start CMM! Try again.")
        root.destroy()
    else:
        start()
Beispiel #20
0
    def __init__(self, root):
        super().__init__(root)
        self["padx"] = 4
        self["pady"] = 4

        self.version = ".".join(version.version())
        self.title("About")
        self.resizable(FALSE, FALSE)
        placeWindow(self, 488, 303)

        line12 = "Carousel Maze Manager\nVersion " + self.version + "\n" + version.date(
        ) + "\n\n"
        line5 = "Copyright " + version.copyleft(
        ) + " Štěpán Bahník\[email protected]\n\n"
        line6 = "This program comes with ABSOLUTELY NO WARRANTY.\n"
        line8 = "This is free software, and you are welcome to redistribute\n"
        line9 = "it under certain conditions; click "
        line10 = "here"
        line11 = " for details.\n\n"

        self.aboutText = Text(self,
                              height=15,
                              width=58,
                              relief="flat",
                              background=self.cget("background"))
        self.aboutText.grid(column=0, row=0, padx=6, pady=6)

        text = line12 + line5 + line6 + line8 + line9

        self.aboutText.insert("end", text)
        self.aboutText.insert("end", line10, "link")
        self.aboutText.insert("end", line11)

        self.aboutText.tag_configure("link", foreground="blue")
        self.aboutText.tag_bind("link", "<1>", lambda e: self.link(e))
        self.aboutText.tag_bind("link", "<Enter>", lambda e: self._enter(e))
        self.aboutText.tag_bind("link", "<Leave>", lambda e: self._leave(e))

        filepath = os.path.join(os.getcwd(), "Stuff", "Modules", "GNUlogo.gif")
        self.logo = PhotoImage(file=filepath)
        self.aboutText.insert("end", " " * 21)
        self.aboutText.image_create("end", image=self.logo)

        self.aboutExit = ttk.Button(self, text="Close", command=self.aboutExit)
        self.aboutExit.grid(column=0, row=1, pady=7)
Beispiel #21
0
def main():
    "starts CMM"
    modules = os.path.join(os.getcwd(), "Stuff", "Modules")
    
    # developer?
    try:
        if os.path.exists(modules):
            sys.path.append(modules)
            from optionget import optionGet
            if optionGet("Developer", False, 'bool'):
                from starter import main as start
                start()
                return
    except Exception:
        pass
    
    # new version?
    try:
        if os.path.exists(modules):
            if modules not in sys.path:
                sys.path.append(modules)
            from version import version
            version = version()
        else:
            version = [0, 3, 4]
    except Exception:
        version = [0, 3, 4]
    try:
        checkNewVersion(version)
    except Exception:
        pass
    
    # starting
    try:
        if modules not in sys.path:
            sys.path.append(modules)
        from starter import main as start
    except Exception as e:
        root = makeRoot()
        messagebox.showinfo(title = "Error", icon = "error", detail = e,
                            message = "Unable to start CMM! Try again.")
        root.destroy()
    else:
        start()
Beispiel #22
0
    def __init__(self):
        super().__init__()

        self.title("CM Manager " + ".".join(version()))
        self.option_add("*tearOff", FALSE)
        self.resizable(FALSE, FALSE)
        '''
        used when size of the window is changed for placeWindow arguments     
        self.after(50, lambda: print(self.winfo_width()))
        self.after(50, lambda: print(self.winfo_height()))
        '''
        placeWindow(self, 1010, 786)

        # notebook
        self.selectFunction = ttk.Notebook(self)
        self.selectFunction.grid()

        # FileStorage is associated with the Notebook
        self.selectFunction.fileStorage = FileStorage()

        self.processor = Processor(self.selectFunction)
        self.explorer = Explorer(self.selectFunction)
        self.controller = Controller(self.selectFunction)

        notepageWidth = 20
        self.selectFunction.add(self.processor,
                                text="{:^{}}".format("Process", notepageWidth))
        self.selectFunction.add(self.explorer,
                                text="{:^{}}".format("Explore", notepageWidth))
        self.selectFunction.add(self.controller,
                                text="{:^{}}".format("Control", notepageWidth))

        self.selectFunction.bind("<<NotebookTabChanged>>",
                                 lambda e: self.checkProcessing(e))

        # menu
        self["menu"] = MenuCM(self)

        # checks for new messages and versions on the web
        if optionGet("CheckMessages", True, "bool"):
            self.onStart()

        self.mainloop()
Beispiel #23
0
def main_info(options):
    print 'OPM VERSION: ' + VERSION.version()
    print 'CONFIG PATH: ' + options.config_path
    print 'OPM CACHE: ' + ENV.OPM_CACHE

    if not os.path.exists(options.config_path):
        print '> Not found config file.'
        return

    config = CONFIG.Config()
    config.readConfigXml(options.config_path)

    print '> VERSION: ' + config.getVersion()
    print '> NAME: ' + config.getName()
    print '> PROTOCOL: ' + config.getProtocol()
    print '> USER: '******'> HOST: ' + config.getHost()
    print '> PORT: ' + config.getPort()
    print '> PATH: ' + config.getPath()
    print '> URI: ' + config.getUri()
Beispiel #24
0
def main_info(options):
    print 'OPM VERSION: ' + VERSION.version()
    print 'CONFIG PATH: ' + options.config_path
    print 'OPM CACHE: '   + ENV.OPM_CACHE

    if not os.path.exists(options.config_path):
        print '> Not found config file.'
        return

    config = CONFIG.Config()
    config.readConfigXml(options.config_path)

    print '> VERSION: '   + config.getVersion()
    print '> NAME: '      + config.getName()
    print '> PROTOCOL: '  + config.getProtocol()
    print '> USER: '******'> HOST: '      + config.getHost()
    print '> PORT: '      + config.getPort()
    print '> PATH: '      + config.getPath()
    print '> URI: '       + config.getUri()
Beispiel #25
0
def get_parser():
    """Parse arguments according to the ``SUBCOMMANDS`` configuration. Return
    an argparse ``Namespace`` instance representing the parsed arguments.
    """
    parser = argparse.ArgumentParser(
        description="Archivematica Client",
        formatter_class=argparse.RawDescriptionHelpFormatter,
    )
    parser.add_argument("--log-file",
                        metavar="FILE",
                        help="logfile",
                        default=defaults.AMCLIENT_LOG_FILE)
    parser.add_argument(
        "--log-level",
        choices=["ERROR", "WARNING", "INFO", "DEBUG"],
        default=defaults.DEFAULT_LOG_LEVEL,
        help="Set the debugging output level.",
    )
    parser.add_argument(
        "--version",
        "-v",
        action="version",
        version="%(prog)s {}".format(version.version()),
    )
    subparsers = parser.add_subparsers(help="sub-command help",
                                       dest="subcommand",
                                       metavar="<command>")
    for subcommand in SUBCOMMANDS:
        subparser = subparsers.add_parser(subcommand.name,
                                          help=subcommand.help)
        for arg in subcommand.args:
            subparser.add_argument(arg.name, help=arg.help, type=arg.type)
        for opt in subcommand.opts:
            subparser.add_argument(
                "--" + opt.name,
                metavar=opt.metavar,
                help=opt.help,
                default=opt.default,
                type=opt.type,
            )
    return parser
Beispiel #26
0
 def rtems_options(self):
     # Check for RTEMS specific helper options.
     rtems_tools = self.parse_args('--rtems-tools')
     if rtems_tools is not None:
         if self.get_arg('--with-tools') is not None:
             raise error.general('--rtems-tools and --with-tools cannot be used together')
         self.args.append('--with-tools=%s' % (rtems_tools[1]))
     rtems_arch_bsp = self.parse_args('--rtems-bsp')
     if rtems_arch_bsp is not None:
         if self.get_arg('--target') is not None:
             raise error.general('--rtems-bsp and --target cannot be used together')
         ab = rtems_arch_bsp[1].split('/')
         if len(ab) != 2:
             raise error.general('invalid --rtems-bsp option')
         rtems_version = self.parse_args('--rtems-version')
         if rtems_version is None:
             rtems_version = version.version()
         else:
             rtems_version = rtems_version[1]
         self.args.append('--target=%s-rtems%s' % (ab[0], rtems_version))
         self.args.append('--with-rtems-bsp=%s' % (ab[1]))
Beispiel #27
0
def parallelreplica():
    logger.info('Eon version: %s', version())
    # First of all, does the root directory even exist?
    if not os.path.isdir(config.path_root):
        logger.critical("Root directory does not exist")
        sys.exit(1)

    # load metadata
    start_state_num, time, wuid = get_pr_metadata()
    logger.info("Simulation time: %e s", time)
    states = get_statelist()
    current_state = states.get_state(start_state_num)

    # get communicator
    comm = communicator.get_communicator()

    # Register all the results. There is no need to ever discard processes
    # like we do with akmc. There is no confidence to calculate.
    num_registered, transition, sum_spdup = register_results(
        comm, current_state, states)

    if num_registered >= 1:
        avg_spdup = sum_spdup / num_registered
        logger.info("Total speedup: %f", avg_spdup)

    if transition:
        current_state, previous_state = step(time, current_state, states,
                                             transition)
        time += transition['time']

    logger.info("Time in current state: %e s", current_state.get_time())
    logger.info("Simulation time: %e s", time)
    wuid = make_searches(comm, current_state, wuid)

    # Write out metadata. XXX:ugly
    metafile = os.path.join(config.path_results, 'info.txt')
    parser = ConfigParser.RawConfigParser()
    write_pr_metadata(parser, current_state.number, time, wuid)
    parser.write(open(metafile, 'w'))
    io.save_prng_state()
Beispiel #28
0
    def __init__(self):
        # Read configuration, for unit tests pass in conf as first arg
        # - proxy's persistent store defaults to in-memory sql-lite DB
        # - nova can be configured to read DB ditrectly using 'novadb' or
        #   to query the nova server using 'novaapi' as REST end-points
        #   with 'novauth' for encoding a user:pass to access it as admin
        #   Note: novaapi is not currently supported
        # - 'servers' is the list of network controller REST end-points
        #   (used in order specified till one suceeds, and it is sticky
        #   till next failure). Use 'serverauth' to encode api-key
        config_file = os.environ.get('RESTPROXY_CONFIG')
        if config_file:
            self.conf = ConfigProxy(None, config_file, 'restproxy')
        else:
            self.conf = ConfigProxy('quantum/plugins/restproxy', \
                'restproxy.ini', 'restproxy')
        self.setup_logging()
        LOG.info('QuantumRestProxy: Starting plugin. Version=%s' % version())

        # read config
        proxydb = self.conf.get('proxydb') or \
                'mysql://root@localhost/restproxy'
        novadb = self.conf.get('novadb') or \
                'mysql://root@localhost/nova'
        servers = self.conf.get('servers')
        serverauth = self.conf.get('serverauth')
        serverssl = self.conf.get_bool('serverssl')

        # validate config
        assert novadb or novaauth, 'Nova must be accessible from plugin'
        assert servers is not None, 'Servers not defined. Aborting plugin'
        servers = tuple(s.split(':') for s in servers.split(','))
        servers = tuple((server, int(port)) for server, port in servers)
        assert all(len(s) == 2 for s in servers), \
                'Syntax error in servers in config file. Aborting plugin'

        # init DB, nova and network ctrl connections
        db.configure_db({'sql_connection': proxydb})
        self.nova = NovaDbProxy(novadb)
        self.servers = ServerPool(servers, serverssl, serverauth)
Beispiel #29
0
    def __init__(self):
        super().__init__()
   
        self.title("CM Manager " + ".".join(version()))
        self.option_add("*tearOff", FALSE)
        self.resizable(FALSE, FALSE)
        
        '''
        used when size of the window is changed for placeWindow arguments     
        self.after(50, lambda: print(self.winfo_width()))
        self.after(50, lambda: print(self.winfo_height()))
        '''
        placeWindow(self, 1010, 786)

        # notebook
        self.selectFunction = ttk.Notebook(self)
        self.selectFunction.grid()

        # FileStorage is associated with the Notebook
        self.selectFunction.fileStorage = FileStorage()
        
        self.processor = Processor(self.selectFunction)
        self.explorer = Explorer(self.selectFunction)
        self.controller = Controller(self.selectFunction)

        notepageWidth = 20
        self.selectFunction.add(self.processor, text = "{:^{}}".format("Process", notepageWidth))
        self.selectFunction.add(self.explorer, text = "{:^{}}".format("Explore", notepageWidth))
        self.selectFunction.add(self.controller, text = "{:^{}}".format("Control", notepageWidth))

        self.selectFunction.bind("<<NotebookTabChanged>>", lambda e: self.checkProcessing(e))
            
        # menu
        self["menu"] = MenuCM(self)

        # checks for new messages and versions on the web
        if optionGet("CheckMessages", True, "bool"):
            self.onStart()

        self.mainloop()
Beispiel #30
0
    def __init__(self, root):
        super().__init__(root)
        self["padx"] = 4
        self["pady"] = 4

        self.version = ".".join(version.version())
        self.title("About")
        self.resizable(FALSE, FALSE)
        placeWindow(self, 488, 303)

        line12 = "Carousel Maze Manager\nVersion " + self.version + "\n" + version.date() + "\n\n"
        line5 = "Copyright " + version.copyleft() + " Štěpán Bahník\[email protected]\n\n"
        line6 = "This program comes with ABSOLUTELY NO WARRANTY.\n"
        line8 = "This is free software, and you are welcome to redistribute\n"
        line9 = "it under certain conditions; click "
        line10 = "here"
        line11 = " for details.\n\n"

        self.aboutText = Text(self, height=15, width=58, relief="flat", background=self.cget("background"))
        self.aboutText.grid(column=0, row=0, padx=6, pady=6)

        text = line12 + line5 + line6 + line8 + line9

        self.aboutText.insert("end", text)
        self.aboutText.insert("end", line10, "link")
        self.aboutText.insert("end", line11)

        self.aboutText.tag_configure("link", foreground="blue")
        self.aboutText.tag_bind("link", "<1>", lambda e: self.link(e))
        self.aboutText.tag_bind("link", "<Enter>", lambda e: self._enter(e))
        self.aboutText.tag_bind("link", "<Leave>", lambda e: self._leave(e))

        filepath = os.path.join(os.getcwd(), "Stuff", "Modules", "GNUlogo.gif")
        self.logo = PhotoImage(file=filepath)
        self.aboutText.insert("end", " " * 21)
        self.aboutText.image_create("end", image=self.logo)

        self.aboutExit = ttk.Button(self, text="Close", command=self.aboutExit)
        self.aboutExit.grid(column=0, row=1, pady=7)
Beispiel #31
0
    def writeLog(self):
        "writes the log"
        filepath = optionGet("LogDirectory", os.path.join(os.getcwd(), "Stuff", "Logs"), "str")
        writeTime = localtime()
        self.filename = os.path.join(filepath, strftime("%y_%m_%d_%H%M%S", writeTime) + ".txt")

        self.problem = False
        for method in self.methods:
            if self.methodProblems[method]:
                self.problem = True           
            
        with open(self.filename, mode = "w") as logfile:
            logfile.write("CM Manager version " + ".".join(version()) + "\n\n")
            logfile.write("Date: " + strftime("%d %b %Y", writeTime) + "\n")
            logfile.write("Time: " + strftime("%H:%M:%S", writeTime) + "\n\n\n")
            self._writeProblems(logfile)
            self._writeMethods(logfile)
            self._writeTime(logfile)
            self._writeSaveIn(logfile)
            logfile.write("Reflections removed in:\n\t" + self.removeReflections + "\n\n\n")
            self._writeFiles(logfile)
            self._writeAddedReflections(logfile)
Beispiel #32
0
    def __init__(self):
        super().__init__()
   
        self.title("CM Manager " + ".".join(version()))
        self.option_add("*tearOff", FALSE)
        self.resizable(FALSE, FALSE)
        
        '''
        # used when size of the window is changed for placeWindow arguments     
        self.after(250, lambda: print(self.winfo_width()))
        self.after(250, lambda: print(self.winfo_height()))
        '''
        placeWindow(self, 1010, 834)

        # notebook
        self.selectFunction = ttk.Notebook(self)
        self.selectFunction.grid()

        # FileStorage is associated with the Notebook
        self.selectFunction.fileStorage = FileStorage()
        
        self.processor = Processor(self.selectFunction)
        self.explorer = Explorer(self.selectFunction)
        self.controller = Controller(self.selectFunction)

        notepageWidth = 20
        self.selectFunction.add(self.processor, text = "{:^{}}".format("Process", notepageWidth))
        self.selectFunction.add(self.explorer, text = "{:^{}}".format("Explore", notepageWidth))
        self.selectFunction.add(self.controller, text = "{:^{}}".format("Control", notepageWidth))

        self.selectFunction.bind("<<NotebookTabChanged>>", lambda e: self.checkProcessing(e))
            
        # menu
        self["menu"] = MenuCM(self)

        if not optionGet("Developer", False, 'bool'):
            self.protocol("WM_DELETE_WINDOW", self.closeFun)

        self.mainloop()
Beispiel #33
0
 def rtems_options(self):
     # Check for RTEMS specific helper options.
     rtems_tools = self.parse_args('--rtems-tools')
     if rtems_tools is not None:
         if self.get_arg('--with-tools') is not None:
             raise error.general('--rtems-tools and --with-tools cannot be used together')
         self.args.append('--with-tools=%s' % (rtems_tools[1]))
     rtems_version = self.parse_args('--rtems-version')
     if rtems_version is None:
         rtems_version = version.version()
     else:
         rtems_version = rtems_version[1]
     self.defaults['rtems_version'] = rtems_version
     rtems_arch_bsp = self.parse_args('--rtems-bsp')
     if rtems_arch_bsp is not None:
         if self.get_arg('--target') is not None:
             raise error.general('--rtems-bsp and --target cannot be used together')
         ab = rtems_arch_bsp[1].split('/')
         if len(ab) != 2:
             raise error.general('invalid --rtems-bsp option')
         self.args.append('--target=%s-rtems%s' % (ab[0], rtems_version))
         self.args.append('--with-rtems-bsp=%s' % (ab[1]))
Beispiel #34
0
    def do_about(self, line):
        print \
"""
PubBib - version %s
Git commit: %s
Copyright (C) 2011 Andrew McArdle ([email protected])

https://github.com/andrewmcardle/PubBib

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
""" % (version(), git_describe())
Beispiel #35
0
 def __init__(self):
     super(FotonWindow, self).__init__(parent=None)
     self.setWindowTitle('Foton (v' + version() + ')')
     self.resize(800, 600)
     self.statusBar().showMessage('Готов')
     self.setupMenu()
     self.imagesTable = QtGui.QTableWidget()
     self.imageLabel = QtGui.QLabel()
     self.currentIdLabel = QtGui.QLabel()
     widget = QtGui.QWidget()
     self.setCentralWidget(widget)
     vbox = QtGui.QVBoxLayout()
     hbox = QtGui.QHBoxLayout()
     dock = QtGui.QDockWidget(self)
     dock.setWidget(self.imagesTable)
     dock.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea)
     self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)
     hbox.addStretch()
     hbox.addWidget(self.imageLabel)
     hbox.addStretch()
     self.currentIdLabel.setText('Номер точки: <не выбрано>')
     vbox.addWidget(self.currentIdLabel)
     hboxIds = QtGui.QHBoxLayout()
     for i in range(6):
         b = QtGui.QPushButton(str(i + 1))
         b.clicked.connect(self.idButtonClick)
         hboxIds.addWidget(b)
     vbox.addLayout(hboxIds)
     vbox.addStretch()
     vbox.addLayout(hbox)
     vbox.addStretch()
     widget.setLayout(vbox)
     self.imagesTable.currentCellChanged.connect(self.showImage)
     self.imageLabel.mousePressEvent = self.draw
     self.workingDir = os.getcwd()
     self.currentImage = None
     self.qtImage = None
     self.images = None
def parallelreplica():
    logger.info('Eon version: %s', version())
    # First of all, does the root directory even exist?
    if not os.path.isdir(config.path_root):
        logger.critical("Root directory does not exist")
        sys.exit(1)

    # load metadata
    start_state_num, time, wuid = get_pr_metadata()
    logger.info("Simulation time: %e s", time)
    states = get_statelist() 
    current_state = states.get_state(start_state_num)

    # get communicator
    comm = communicator.get_communicator()

    # Register all the results. There is no need to ever discard processes
    # like we do with akmc. There is no confidence to calculate.
    num_registered, transition, sum_spdup = register_results(comm, current_state, states)
   
    if num_registered >= 1:
        avg_spdup = sum_spdup/num_registered
        logger.info("Total speedup: %f",avg_spdup)

    if transition:
        current_state, previous_state = step(time, current_state, states, transition)
        time += transition['time']

    logger.info("Time in current state: %e s", current_state.get_time()) 
    logger.info("Simulation time: %e s", time)
    wuid = make_searches(comm, current_state, wuid)

    # Write out metadata. XXX:ugly
    metafile = os.path.join(config.path_results, 'info.txt')
    parser = ConfigParser.RawConfigParser() 
    write_pr_metadata(parser, current_state.number, time, wuid)
    parser.write(open(metafile, 'w'))
    io.save_prng_state()
Beispiel #37
0
    def __init__(self, root):
        super().__init__(root)
        self["padx"] = 4
        self["pady"] = 4
      
        self.title("Citation")
        self.resizable(FALSE, FALSE)
        placeWindow(self, 488, 135)

        v = version.version()
        year = version.date().split()[2]
        url = "https://github.com/bahniks/CM_Manager_{}_{}_{}".format(*v)
        text = ("Please cite this software as:\n\n" +
                "Bahník, Š. ({}). Carousel Maze Manager (Version {}.{}.{}) ".format(year, *v) +
                "[Software]. Available from {}".format(url))

        self.text = Text(self, height = 5, width = 70, relief = "flat", wrap = "word",
                         background = self.cget("background"))
        self.text.grid(column = 0, row = 0, padx = 6, pady = 6)   
        self.text.insert("end", text)

        self.close = ttk.Button(self, text = "Close", command = self.destroy)
        self.close.grid(column = 0, row = 1, pady = 7)
Beispiel #38
0
    def set_version(self):
        git_tag = os.environ.get("GIT_TAG")
        if not git_tag:
            (self.version, self._major, self._minor,
             self._patch) = version.version()
            version.write_version_header("version.hpp",
                                         "LIBRARY_TEMPLATE_VERSION_HPP",
                                         "library_template", self._major,
                                         self._minor, self._patch)
        else:
            (self.version, self._major, self._minor,
             self._patch) = ("0.0.0", "0", "0", "0")

            m = re.search("v(([0-9]*)\\.([0-9]*)\\.([0-9]*))", git_tag)

            if m:
                (self.version, self._major, self._minor,
                 self._patch) = (m.group(1), m.group(2), m.group(3),
                                 m.group(4))

            version.write_version_header("version.hpp",
                                         "LIBRARY_TEMPLATE_VERSION_HPP",
                                         "library_template", self._major,
                                         self._minor, self._patch)
Beispiel #39
0
 def run(self):
     print(image.image())
     print(version.version())
     self.sniffer()
Beispiel #40
0
	  project           the project.
	
	If an error occurs during the parsing of the file, a project_error
  is raised."""
  
	try:
		keywords, values = simple_parser.parse(lines)
	except simple_parser.parsing_error, error:
		raise project_error("Cannot parse project because %s" % error.get_value())
	
	new_project = project(material_catalog)
	
	if keywords[0] == "Version":
		keywords.pop(0)
		try:
			file_version = version.version(values.pop(0))
		except ValueError:
			raise project_error("Version number could not be parsed")
	else:
		file_version = version.version("1.0")
	
	for i in range(len(keywords)):
		keyword = keywords[i]
		value = values[i]
		
		if keyword == "Comment":
			if new_project.get_comment():
				raise project_error("Only one comment allowed by project")
			if not isinstance(value, list):
				value = [value]
			comment = ""
Beispiel #41
0
    def writeLog(self):
        "writes the log"
        filepath = optionGet("LogDirectory",
                             os.path.join(os.getcwd(), "Stuff", "Logs"), "str")
        writeTime = localtime()
        self.filename = os.path.join(
            filepath,
            strftime("%y_%m_%d_%H%M%S", writeTime) + ".txt")

        self.problem = False
        for method in self.methods:
            if self.methodProblems[method]:
                self.problem = True

        with open(self.filename, mode="w") as logfile:
            # version
            logfile.write("CM Manager version " + ".".join(version()) + "\n\n")
            # log time
            logfile.write("Date: " + strftime("%d %b %Y", writeTime) + "\n")
            logfile.write("Time: " + strftime("%H:%M:%S", writeTime) +
                          "\n\n\n")
            # problems
            if self.failedToLoad or self.problem or self.stopped:
                logfile.write("Errors:\n" + "-" * 20 + "\n")
                if self.stopped:
                    logfile.write("Processing stopped after: " + file + "\n\n")
                if self.failedToLoad:
                    logfile.write("Failed to load:\n\t")
                    logfile.write("\n\t".join(self.failedToLoad))
                    logfile.write("\n\n")
                if self.problem:
                    logfile.write("Failed to compute:\n")
                    for method in self.methods:
                        if self.methodProblems[method]:
                            logfile.write("\t" + method + ":\n\t\t")
                            logfile.write("\n\t\t".join(
                                self.methodProblems[method]))
                            logfile.write("\n")
                    logfile.write("\n")
                logfile.write("-" * 20 + "\n\n")
            # methods
            logfile.write("Methods used:")
            if self.methods:
                for method in self.methods:
                    logfile.write("\n\t" + method)
                    if method in Parameters().options:
                        for option in Parameters().options[method]:
                            logfile.write("\n\t\t" + option[0] + ": " +
                                          str(option[1]))
            else:
                logfile.write("\n\tNone")
            logfile.write("\n\n\n")
            # time set
            logfile.write("Time set:\n")
            logfile.write("\tStart: " + "{:5.1f}".format(self.startTime) +
                          " minutes\n")
            logfile.write("\tStop : " + "{:5.1f}".format(self.stopTime) +
                          " minutes\n")
            logfile.write("\n\n")
            # save in file
            file = self.saveTo
            if not os.path.splitext(file)[1]:
                file += optionGet("DefProcessOutputFileType", ".txt", "str")
            logfile.write("Results saved in:\n\t" + os.path.abspath(file) +
                          "\n\n\n")
            # reflections
            logfile.write("Reflections removed in:\n\t" +
                          self.removeReflections + "\n\n\n")
            # files
            logfile.write("Files processed:")
            if self.stopped:
                index = self.files.index(self.stopped)
                if index == len(self.files):
                    for file in self.files[:index]:
                        logfile.write("\n\t" + file)
                        if file in self.fileStorage.tagged:
                            logfile.write("\tTagged")
                        if file in self.fileStorage.pairedfiles:
                            logfile.write("\n\t\tPaired with: " +
                                          self.fileStorage.pairedfiles[file])
                    logfile.write(
                        "\nStopped before processing following files:\n\t")
                    for file in self.files[(index + 1):]:
                        logfile.write("\n\t" + file)
                        if file in self.fileStorage.tagged:
                            logfile.write("\tTagged")
                        if file in self.fileStorage.pairedfiles:
                            logfile.write("\n\t\tPaired with: " +
                                          self.fileStorage.pairedfiles[file])
                else:
                    for file in self.files:
                        logfile.write("\n\t" + file)
                        if file in self.fileStorage.tagged:
                            logfile.write("\tTagged")
                        if file in self.fileStorage.pairedfiles:
                            logfile.write("\n\t\tPaired with: " +
                                          self.fileStorage.pairedfiles[file])
            else:
                for file in self.files:
                    logfile.write("\n\t" + file)
                    if file in self.fileStorage.tagged:
                        logfile.write("\tTagged")
                    if file in self.fileStorage.pairedfiles:
                        logfile.write("\n\t\tPaired with: " +
                                      self.fileStorage.pairedfiles[file])
            logfile.close()
Beispiel #42
0
 def changeTitle(self, mode):
     "changes the title of the GUI"
     self.title("CM Manager " + ".".join(version()) + "  (mode: {})".format(mode))
Beispiel #43
0
        'src/common/api_info.cpp',
        'src/common/in_file.cpp',
        'src/common/in_file_ra.cpp',
        'src/common/out_file.cpp',
        'src/common/os_posix.cpp',
        'common/eglstate/common.cpp',

        # jsoncpp
        'thirdparty/jsoncpp/src/lib_json/json_writer.cpp',
        'thirdparty/jsoncpp/src/lib_json/json_reader.cpp',
        'thirdparty/jsoncpp/src/lib_json/json_value.cpp',

        # snappy
        'thirdparty/snappy/snappy.cc',
        'thirdparty/snappy/snappy-sinksource.cc',
        'thirdparty/snappy/snappy-stubs-internal.cc',
        'thirdparty/snappy/snappy-c.cc',
    ],
    define_macros=[('PLATFORM_64BIT', None)] if on_64bit_platform else [],
)

setuptools.setup(
    name='pypatrace',
    description='Python interface of PATrace SDK',
    maintainer='PPA Team',
    maintainer_email='*****@*****.**',
    version=version(),
    ext_modules=[patrace_extension],
    py_modules=['patrace'],
)
Beispiel #44
0
# -*- coding: utf-8 -*-

from Page import Page
from PIL import Image, ImageTk
import Tkinter as tk
from version import version
import urllib2
import webbrowser

Version = version()

class aboutPageMain(Page):
	def __init__(self, *args, **kwargs):
		Page.__init__(self, *args, **kwargs)
		self.font10 = "-family {Times New Roman} -size 24 -weight bold "  \
		"-slant roman -underline 0 -overstrike 0"
		self.font11 = "-family {Times New Roman} -size 18 "  \
		"-slant roman -underline 0 -overstrike 0"
		self.font12 = "-family {Times New Roman} -size 18 "  \
		"-slant roman -underline 0 -overstrike 0"

		self.aboutTitle = tk.LabelFrame(self, text="About", labelanchor='nw')
		self.aboutTitle.configure(font=self.font10)
		self.aboutTitle.grid(row=10, columnspan=50, padx=10, pady=10, ipadx=10, ipady=10)
		self.aboutTitle.place(relx=0.5, rely=0.25, anchor="center")

		self.aboutInfo = tk.Label(self.aboutTitle)
		self.aboutInfo.configure(text="[Crew] Lotto Manager\nVersion %s\n© 2015, Eñd Game [Crew]\nManager written by Ryan 'T D' Malacina" % (Version.getVersion()), justify="left", font=self.font11)
		self.aboutInfo.grid(row=0, column=0, padx=5, pady=0)

		self.aboutLink = tk.Label(self.aboutTitle)
Beispiel #45
0
#
# Options
#

description = "CalDAV/CardDAV protocol extensions to twext.web2.dav",
long_description = """
Extends twisted.web2.dav to implement CalDAV/CardDAV-aware resources and methods.
"""

classifiers = None

#
# Write version file
#

version_number, version_info = version()

version_string = "{number} ({info})".format(number=version_number, info=version_info)
version_file = file(os.path.join("calendarserver", "version.py"), "w")
version_file.write('version = "{version}"\n'.format(version=version_string))
version_file.close()

#
# Set up Extension modules that need to be built
#

from distutils.core import Extension

extensions = [
    Extension("twext.python.sendmsg",
              sources=["twext/python/sendmsg.c"])
Beispiel #46
0
 def changeTitle(self, mode):
     "changes the title of the GUI"
     self.title("CM Manager " + ".".join(version()) +
                "  (mode: {})".format(mode))
def run(args = sys.argv):
    ec = 0
    get_sources_error = True
    try:
        #
        # The RSB options support cannot be used because it loads the defaults
        # for the host which we cannot do here.
        #
        description  = 'RTEMS Get Sources downloads all the source a build set '
        description += 'references for all hosts.'

        argsp = argparse.ArgumentParser(prog = 'rtems-get-sources',
                                        description = description)
        argsp.add_argument('--rtems-version', help = 'Set the RTEMS version.',
                           type = str,
                           default = version.version())
        argsp.add_argument('--list-hosts', help = 'List the hosts.',
                           action = 'store_true')
        argsp.add_argument('--list-bsets', help = 'List the hosts.',
                           action = 'store_true')
        argsp.add_argument('--download-dir', help = 'Download directory.',
                           type = str)
        argsp.add_argument('--clean', help = 'Clean the download directory.',
                           action = 'store_true')
        argsp.add_argument('--tar', help = 'Create a tarball of all the source.',
                           action = 'store_true')
        argsp.add_argument('--log', help = 'Log file.',
                           type = str,
                           default = log_default())
        argsp.add_argument('--trace', help = 'Enable trace logging for debugging.',
                           action = 'store_true')
        argsp.add_argument('bsets', nargs='*', help = 'Build sets.')

        argopts = argsp.parse_args(args[2:])

        load_log(argopts.log)
        log.notice('RTEMS Source Builder - Get Sources, %s' % (version.str()))
        log.tracing = argopts.trace

        opts = load_options(args, argopts)
        configs = build.get_configs(opts)

        if argopts.list_bsets:
            list_bset_files(opts, configs)
        else:
            if argopts.clean:
                if argopts.download_dir is None:
                    raise error.general('cleaning of the default download directories is not supported')
                if path.exists(argopts.download_dir):
                    log.notice('Cleaning source directory: %s' % (argopts.download_dir))
                    path.removeall(argopts.download_dir)
            if len(argopts.bsets) == 0:
                raise error.general('no build sets provided on the command line')
            for bset in argopts.bsets:
                get_sources_error = True
                b = buildset(bset, configs, opts)
                get_sources_error = False
                for host in host_profiles:
                    b.build(host)
                b = None
    except error.general as gerr:
        if get_sources_error:
            log.stderr(str(gerr))
        log.stderr('Build FAILED')
        ec = 1
    except error.internal as ierr:
        if get_sources_error:
            log.stderr(str(ierr))
        log.stderr('Internal Build FAILED')
        ec = 1
    except error.exit as eerr:
        pass
    except KeyboardInterrupt:
        log.notice('abort: user terminated')
        ec = 1
    except:
        raise
        log.notice('abort: unknown error')
        ec = 1
    sys.exit(ec)
Beispiel #48
0
import logging
import multiprocessing


if __name__ == '__main__':
    multiprocessing.freeze_support()


    #Logging Setup
    logger = logging.getLogger()
    logger.setLevel(logging.DEBUG)
    file_handler = logging.FileHandler('Log.txt', mode = 'w')
    file_handler.setLevel(logging.DEBUG)
    console_handler = logging.StreamHandler()
    console_handler.setLevel(logging.ERROR)
    formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
    file_handler.setFormatter(formatter)
    console_handler.setFormatter(formatter)
    logger.addHandler(file_handler)
    logger.addHandler(console_handler)

    logger.info("Version: %s", version.version())
    logger.info("Describe: %s", version.git_describe())

    try:
        command_line.Command_Processor().cmdloop()
    except Exception, e:
        logger.exception("Exception: %s", e)
        raise
Beispiel #49
0
def get_version():
    """
    Returns app version
    """
    return version()
Beispiel #50
0
        numpy_loaded = False
        print "The NumPy module was not found on this machine. The pipeline will continue, however continuum subtraction and smart clean region detection will not be available. The NumPy module can be downloaded from http://www.scipy.org/Download"
        print "Continuing in..."
        for i in range(15,0,-1) :
            sys.stdout.write("%i%s\r" % (i," "*2))
            sys.stdout.flush()
            time.sleep(1)


    globals.setScriptVar(str(p.preferences.get("selfcalInterval")),"SEFLCALINTERVAL")

    if(len(sys.argv) < 2 or sys.argv[1] == "-h" or sys.argv[1] == "--h" or sys.argv[1] == "help" or sys.argv[1] == "-help" or sys.argv[1] == "--help") :
        version.help()
        os._exit(0)
    elif(sys.argv[1] == "v" or sys.argv[1] == "-v" or sys.argv[1] == "--v") :
        version.version()
        os._exit(0)

    visFile = sys.argv[1]
    CONTINUUM = False
    SPECTRAL = True
    type = "spectral line"
    if(len(sys.argv) > 2) :
        temp= sys.argv[2]
        mode = temp.split("=")
        if(mode[1] == "C" or mode[1] == "c") :
            CONTINUUM = True
            SPECTRAL = False
            type = "continuum"

    args = []
Beispiel #51
0
def parse_version(parser):
    parser.add_argument('-V', '--version',
                        action='version',
                        version=version.version(),
                        help='Print the version number and exit')
Beispiel #52
0
    def writeLog(self):
        "writes the log"
        filepath = optionGet("LogDirectory", os.path.join(os.getcwd(), "Stuff", "Logs"), "str")
        writeTime = localtime()
        self.filename = os.path.join(filepath, strftime("%y_%m_%d_%H%M%S", writeTime) + ".txt")

        self.problem = False
        for method in self.methods:
            if self.methodProblems[method]:
                self.problem = True           
            
        with open(self.filename, mode = "w") as logfile:
            # version
            logfile.write("CM Manager version " + ".".join(version()) + "\n\n")
            # log time
            logfile.write("Date: " + strftime("%d %b %Y", writeTime) + "\n")
            logfile.write("Time: " + strftime("%H:%M:%S", writeTime) + "\n\n\n")
            # problems
            if self.failedToLoad or self.problem or self.stopped:
                logfile.write("Errors:\n" + "-" * 20 + "\n")
                if self.stopped:
                    logfile.write("Processing stopped after: " + file + "\n\n")
                if self.failedToLoad:
                    logfile.write("Failed to load:\n\t")
                    logfile.write("\n\t".join(self.failedToLoad))
                    logfile.write("\n\n")
                if self.problem:
                    logfile.write("Failed to compute:\n")
                    for method in self.methods:
                        if self.methodProblems[method]:
                            logfile.write("\t" + method + ":\n\t\t")
                            logfile.write("\n\t\t".join(self.methodProblems[method]))
                            logfile.write("\n")
                    logfile.write("\n")
                logfile.write("-" * 20 + "\n\n")
            # methods
            logfile.write("Methods used:")
            if self.methods:
                for method in self.methods:
                    logfile.write("\n\t" + method)
                    if method in Parameters().options:
                        for option in Parameters().options[method]:
                            logfile.write("\n\t\t" + option[0] + ": " + str(option[1]))
            else:
                logfile.write("\n\tNone")
            logfile.write("\n\n\n")
            # time set
            logfile.write("Time set:\n")
            logfile.write("\tStart: " + "{:5.1f}".format(self.startTime) + " minutes\n")
            logfile.write("\tStop : " + "{:5.1f}".format(self.stopTime) + " minutes\n")
            logfile.write("\n\n")
            # save in file
            file = self.saveTo
            if not os.path.splitext(file)[1]:
                file += optionGet("DefProcessOutputFileType", ".txt", "str")
            logfile.write("Results saved in:\n\t" + os.path.abspath(file) + "\n\n\n")
            # reflections
            logfile.write("Reflections removed in:\n\t" + self.removeReflections + "\n\n\n")
            # files
            logfile.write("Files processed:")
            if self.stopped:
                index = self.files.index(self.stopped)
                if index == len(self.files):
                    for file in self.files[:index]:
                        logfile.write("\n\t" + file)
                        if file in self.fileStorage.tagged:
                            logfile.write("\tTagged")                            
                        if file in self.fileStorage.pairedfiles:
                            logfile.write("\n\t\tPaired with: " +
                                          self.fileStorage.pairedfiles[file])
                    logfile.write("\nStopped before processing following files:\n\t")
                    for file in self.files[(index + 1):]:
                        logfile.write("\n\t" + file)
                        if file in self.fileStorage.tagged:
                            logfile.write("\tTagged")                            
                        if file in self.fileStorage.pairedfiles:
                            logfile.write("\n\t\tPaired with: " +
                                          self.fileStorage.pairedfiles[file])
                else:
                    for file in self.files:
                        logfile.write("\n\t" + file)
                        if file in self.fileStorage.tagged:
                            logfile.write("\tTagged")                            
                        if file in self.fileStorage.pairedfiles:
                            logfile.write("\n\t\tPaired with: " +
                                          self.fileStorage.pairedfiles[file])
            else:
                for file in self.files:
                    logfile.write("\n\t" + file)
                    if file in self.fileStorage.tagged:
                        logfile.write("\tTagged")                            
                    if file in self.fileStorage.pairedfiles:
                        logfile.write("\n\t\tPaired with: " +
                                      self.fileStorage.pairedfiles[file])         
            logfile.close()
Beispiel #53
0
def parse_args(tool):
    assert tool in TOOLS
    t = TOOLS[tool]

    p = argparse.ArgumentParser(prog=t.cmd, description=t.desc)

    def add_arg(opt, *args, **kwargs):
        if opt in t.args:
            p.add_argument(opt, *args, **kwargs)

    add_arg('--file', '-f', \
        help='Add this file to the list of input files to parse. Files are parsed in the order in which they are encountered on the command line.', \
        action='append', \
        type=argparse.FileType('r'))
    add_arg('--cpp',
            action='store_true',
            help='Pre-process the source with CPP')
    add_arg('--nocpp',
            action='store_false',
            dest='cpp',
            help='Do not pre-process the source with CPP')
    add_arg('--cpp-flag',
            action='append',
            default=[],
            help='Specify a flag to pass to CPP')
    add_arg('--dont-resolve-imports', '-d', \
        help='When encountering an import statement, record it as such and pass this information through to the final output. That is, don\'t look up and try to parse the imported file.', \
        dest='resolve_imports', \
        action='store_false')
    add_arg('--resolve-imports', '-r', \
        help='When encountering an import statement, look up and parse the imported file.', \
        default=True, \
        dest='resolve_imports', \
        action='store_true')
    add_arg('--dont-resolve-references', \
        help='Don\'t attempt to resolve any references found in the input. Just present these as references in the final AST.', \
        dest='resolve_references', \
        action='store_false')
    add_arg('--resolve-references', '-R', \
        help='After parsing the input (and optionally resolving imports) attempt to resolve references. Any references still present in the final AST could not be resolved to any valid object in the AST.', \
        dest='resolve_references', \
        default=True, \
        action='store_true')
    add_arg('--import-path', '-I', \
        help='Add this path to the list of paths to search for built-in imports. That is, add it to the list of directories that are searched to find the file "foo" when encountering an expression "import <foo>;". Note that this does nothing unless you pass -r/--resolve-imports.', \
        action='append',
        default=[])
    add_arg('--quiet', '-q', \
        help='No output.', \
        dest='verbosity', \
        default=1, \
        action='store_const', \
        const=0)
    add_arg('--verbose', '-v', \
        help='Verbose output.', \
        dest='verbosity', \
        action='store_const', \
        const=2)
    add_arg('--debug', '-D', \
        help='Extra verbose output.', \
        dest='verbosity', \
        action='store_const', \
        const=3)
    add_arg('--outfile', '-O', \
        help='Output to the given file (default stdout).', \
        type=argparse.FileType('w'), \
        required=True)
    add_arg('--elf', '-E', \
        help='ELF files to contribute to a CapDL specification.', \
        action='append')
    add_arg('--item', '-T', \
        help='AST entity to produce code for.', required=True)
    add_arg('--platform', '-p', \
        help='Platform to produce code for. Pass \'help\' to see valid platforms.', \
        default='seL4')
    add_arg('--post-render-edit',
            help='Allow the user to edit rendered templates before exiting.',
            action='store_true')
    add_arg('--profiler',
            help='Set profiling tool for runtime statistics.',
            choices=['none', 'internal', 'native', 'aggregate', 'heartbeat'],
            default='none')
    add_arg(
        '--profile-log',
        help=
        'Log profile statistics to the given file (requires --profiler to be set).',
        type=argparse.FileType('w'),
        default=sys.stdout)
    add_arg('--templates', '-t', \
        help='Extra directory to search for templates (before builtin templates).')
    add_arg('--cache',
            '-c',
            default='off',
            choices=['off', 'on', 'readonly', 'writeonly'],
            help='Set code generation cache mode.')
    add_arg('--cache-dir',
            default=os.path.join(os.path.expanduser('~'), '.camkes/cache'),
            help='Set code generation cache location.')
    add_arg('--version',
            action='version',
            version='%(prog)s %(version)s' % {
                'prog': '%(prog)s',
                'version': version.version(),
            })
    add_arg('--frpc-lock-elision',
            action='store_true',
            default=True,
            help='Enable lock elision optimisation in seL4RPC connector.')
    add_arg('--fno-rpc-lock-elision',
            action='store_false',
            dest='frpc_lock_elision',
            help='Disable lock elision optimisation in seL4RPC connector.')
    add_arg(
        '--fcall-leave-reply-cap',
        action='store_true',
        default=True,
        help='Enable operating on reply caps in place in seL4Call connector.')
    add_arg(
        '--fno-call-leave-reply-cap',
        action='store_false',
        dest='fcall_leave_reply_cap',
        help='Disable operating on reply caps in place in seL4Call connector.')
    add_arg(
        '--fspecialise-syscall-stubs',
        action='store_true',
        default=True,
        help='Generate inline syscall stubs to reduce overhead where possible.'
    )
    add_arg('--fno-specialise-syscall-stubs',
            action='store_false',
            dest='fspecialise_syscall_stubs',
            help='Always use the libsel4 syscall stubs.')
    add_arg(
        '--fprovide-tcb-caps',
        action='store_true',
        default=True,
        help='Hand out TCB caps to components, allowing them to exit cleanly.')
    add_arg(
        '--fno-provide-tcb-caps',
        action='store_false',
        dest='fprovide_tcb_caps',
        help='Do not hand out TCB caps, causing components to fault on exiting.'
    )
    add_arg('--fsupport-init',
            action='store_true',
            default=True,
            help='Support pre_init, post_init and friends.')
    add_arg('--fno-support-init',
            action='store_false',
            dest='fsupport_init',
            help='Do not support pre_init, post_init and friends.')
    add_arg('--default-priority',
            type=int,
            default=254,
            help='Default component thread priority.')
    add_arg('--prune', action='store_true', \
        help='Minimise the number of functions in generated C files.')
    add_arg('--ply-optimise', action='store_true', \
        help='Run PLY with optimisations enabled.')
    add_arg('--largeframe',
            action='store_true',
            help='Try to use large frames when possible.')
    add_arg(
        '--hyp',
        action='store_true',
        help='Assume the target platform\'s kernel is running in HYP mode.')

    return p.parse_args()
Beispiel #54
0
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#===============================================================================

"""
To build exes, run
    setup.py py2exe
"""

from version import version

from distutils.core import setup
import py2exe #@UnusedImport @UnresolvedImport

setup(version = version(),
      author = "Andrew McArdle",
      name = "PubBib",
      console = ['PubBib.py'],
      options = {
                 "py2exe":{
                         "packages": "lxml, gzip",
                         "bundle_files":"2",
                         "dist_dir":"../dist"
                         }
                 },
      )
Beispiel #55
0
import xml.etree.ElementTree as ET
import xml.dom.minidom
import version as VER

TAG_ROOT = 'opm'
TAG_REMOTE = 'remote'
TAG_PROTOCOL = 'protocol'
TAG_USER = '******'
TAG_HOST = 'host'
TAG_PORT = 'port'
TAG_PATH = 'path'

ATTR_VERSION = 'version'
ATTR_NAME = 'name'

DEFAULT_VERSION = VER.version()
DEFAULT_NAME = 'origin'
DEFAULT_PROTOCOL = 'sftp'
DEFAULT_USER = '******'
DEFAULT_HOST = 'localhost'
DEFAULT_PORT = '22'
DEFAULT_PATH = '/var/opm'


class ConfigException(Exception):
    """! Config exception class.
    @author zer0
    @date   2015-12-04
    """
    def __init__(self, message):
        self.message = message
Beispiel #56
0
#
# Options
#

description = "CalDAV/CardDAV protocol extensions to twext.web2.dav",
long_description = """
Extends twisted.web2.dav to implement CalDAV/CardDAV-aware resources and methods.
"""

classifiers = None

#
# Write version file
#

version_string = "%s (%s)" % version()
version_file = file(os.path.join("twistedcaldav", "version.py"), "w")
version_file.write('version = "%s"\n' % version_string)
version_file.close()

#
# Set up Extension modules that need to be built
#

from distutils.core import Extension

extensions = [
    Extension("twext.python.sendmsg",
              sources=["twext/python/sendmsg.c"])
]
Beispiel #57
0
def parse_args(tool):
    assert tool in TOOLS
    t = TOOLS[tool]

    p = argparse.ArgumentParser(prog=t.cmd, description=t.desc)

    def add_arg(opt, *args, **kwargs):
        if opt in t.args:
            p.add_argument(opt, *args, **kwargs)

    add_arg('--file', '-f', \
        help='Add this file to the list of input files to parse. Files are parsed in the order in which they are encountered on the command line.', \
        action='append', \
        type=argparse.FileType('r'))
    add_arg('--cpp', action='store_true',
        help='Pre-process the source with CPP')
    add_arg('--nocpp', action='store_false', dest='cpp',
        help='Do not pre-process the source with CPP')
    add_arg('--cpp-flag', action='append', default=[],
        help='Specify a flag to pass to CPP')
    add_arg('--dont-resolve-imports', '-d', \
        help='When encountering an import statement, record it as such and pass this information through to the final output. That is, don\'t look up and try to parse the imported file.', \
        dest='resolve_imports', \
        action='store_false')
    add_arg('--resolve-imports', '-r', \
        help='When encountering an import statement, look up and parse the imported file.', \
        default=True, \
        dest='resolve_imports', \
        action='store_true')
    add_arg('--dont-resolve-references', \
        help='Don\'t attempt to resolve any references found in the input. Just present these as references in the final AST.', \
        dest='resolve_references', \
        action='store_false')
    add_arg('--resolve-references', '-R', \
        help='After parsing the input (and optionally resolving imports) attempt to resolve references. Any references still present in the final AST could not be resolved to any valid object in the AST.', \
        dest='resolve_references', \
        default=True, \
        action='store_true')
    add_arg('--import-path', '-I', \
        help='Add this path to the list of paths to search for built-in imports. That is, add it to the list of directories that are searched to find the file "foo" when encountering an expression "import <foo>;". Note that this does nothing unless you pass -r/--resolve-imports.', \
        action='append',
        default=[])
    add_arg('--quiet', '-q', \
        help='No output.', \
        dest='verbosity', \
        default=1, \
        action='store_const', \
        const=0)
    add_arg('--verbose', '-v', \
        help='Verbose output.', \
        dest='verbosity', \
        action='store_const', \
        const=2)
    add_arg('--debug', '-D', \
        help='Extra verbose output.', \
        dest='verbosity', \
        action='store_const', \
        const=3)
    add_arg('--outfile', '-O', \
        help='Output to the given file (default stdout).', \
        type=argparse.FileType('w'), \
        required=True)
    add_arg('--elf', '-E', \
        help='ELF files to contribute to a CapDL specification.', \
        action='append', default=[])
    add_arg('--item', '-T', \
        help='AST entity to produce code for.', required=True)
    add_arg('--platform', '-p', \
        help='Platform to produce code for. Pass \'help\' to see valid platforms.', \
        default='seL4')
    add_arg('--templates', '-t', \
        help='Extra directories to search for templates (before builtin templates).', \
        action='append', \
        default=[])
    add_arg('--cache', '-c', default='off',
        choices=['off', 'on', 'readonly', 'writeonly'],
        help='Set code generation cache mode.')
    add_arg('--cache-dir', default=os.path.join(os.path.expanduser('~'), '.camkes/cache'),
        help='Set code generation cache location.')
    add_arg('--version', action='version', version='%(prog)s %(version)s' % {
        'prog':'%(prog)s',
        'version':version.version(),
    })
    add_arg('--frpc-lock-elision', action='store_true', default=True,
        help='Enable lock elision optimisation in seL4RPC connector.')
    add_arg('--fno-rpc-lock-elision', action='store_false',
        dest='frpc_lock_elision',
        help='Disable lock elision optimisation in seL4RPC connector.')
    add_arg('--fcall-leave-reply-cap', action='store_true', default=True,
        help='Enable operating on reply caps in place in seL4Call connector.')
    add_arg('--fno-call-leave-reply-cap', action='store_false',
        dest='fcall_leave_reply_cap',
        help='Disable operating on reply caps in place in seL4Call connector.')
    add_arg('--fspecialise-syscall-stubs', action='store_true', default=True,
        help='Generate inline syscall stubs to reduce overhead where possible.')
    add_arg('--fno-specialise-syscall-stubs', action='store_false',
        dest='fspecialise_syscall_stubs',
        help='Always use the libsel4 syscall stubs.')
    add_arg('--fprovide-tcb-caps', action='store_true', default=True,
        help='Hand out TCB caps to components, allowing them to exit cleanly.')
    add_arg('--fno-provide-tcb-caps', action='store_false',
        dest='fprovide_tcb_caps',
        help='Do not hand out TCB caps, causing components to fault on exiting.')
    add_arg('--fsupport-init', action='store_true', default=True,
        help='Support pre_init, post_init and friends.')
    add_arg('--fno-support-init', action='store_false',
        dest='fsupport_init',
        help='Do not support pre_init, post_init and friends.')
    add_arg('--default-priority', type=int, default=254,
        help='Default component thread priority.')
    add_arg('--prune', action='store_true', \
        help='Minimise the number of functions in generated C files.')
    add_arg('--ply-optimise', action='store_true', \
        help='Run PLY with optimisations enabled.')
    add_arg('--largeframe', action='store_true',
        help='Try to use large frames when possible.')
    add_arg('--hyp', action='store_true',
        help='Assume the target platform\'s kernel is running in HYP mode.')
    add_arg('--word-size', type=int, default=32,
        help='Native word size of the target platform.')

    return p.parse_args()
Beispiel #58
0
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

"""Pyhole Request Library"""

import requests

import version


session = requests.Session()
session.headers.update({
    "User-Agent": "pyhole/%s" % version.version()
})


def get(url, **kwargs):
    """GET a URL."""
    return session.get(url, **kwargs)


def post(url, **kwargs):
    """POST to a URL."""
    return session.post(url, **kwargs)


def put(url, **kwargs):
    """PUT to a URL."""