Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision 1465476f42ee1cbe1c63312cae927ad67e4e3683 authored by Eh Tan on 15 June 2009, 22:11:37 UTC, committed by Eh Tan on 15 June 2009, 22:11:37 UTC
v3.1.0 release
1 parent bcaed6d
  • Files
  • Changes
  • 584730d
  • /
  • CitcomS
  • /
  • BaseApplication.py
Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:1465476f42ee1cbe1c63312cae927ad67e4e3683
directory badge
swh:1:dir:7ed5a57c5c6c7719548512a36395da7b21892f52
content badge
swh:1:cnt:73c04f3292d56956ddd3f6bc8edcfb1d4e259c0d

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
BaseApplication.py
#!/usr/bin/env python
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
#<LicenseText>
#
# CitcomS.py by Eh Tan, Eun-seo Choi, and Pururav Thoutireddy.
# Copyright (C) 2002-2005, California Institute of Technology.
#
# 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 2 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, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#</LicenseText>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#


from mpi.Application import Application
import journal


class BaseApplication(Application):


    def __init__(self, name="CitcomS"):
        '''Constructor. Inventory object is not initialized yet.
        '''
        Application.__init__(self, name)

        # channel for debugging output
        self._info = journal.debug("application")
        return



    def _init(self):
        '''Called by mpi.Application.__init__(). Inventory object becomes available.
        '''
        Application._init(self)

        # self.nodes is the # of CPUs for this simulation, used by the
        # scheduler and launcher
        #
        # self.getNodes is defined in the child classes
        self.nodes = self.getNodes()
        return



    def main(self, *args, **kwds):
        '''The entry point, like main() in C.
        '''
        # self.initialize and self.reportConfiguration are defined
        # in the child classes
        self.initialize()
        self.reportConfiguration()
        self.launch()
        return



    def launch(self):
        '''Start the computation.
        '''

        # initial conditions and the 0th step
        self.controller.launch(self)

        # subsequent steps
        self.controller.march(steps=self.inventory.steps)
        return



    def _getPrivateDepositoryLocations(self):
        '''Find the location of *.odb files.
        '''
        from os.path import dirname, isdir, join
        list = []
        etc = join(dirname(dirname(__file__)), 'etc')
        if isdir(etc):
            # The user is running directly from the source directory.
            list.append(etc)
        else:
            try:
                from config import makefile
                pkgsysconfdir = makefile['pkgsysconfdir']
                if isdir(pkgsysconfdir):
                    list.append(pkgsysconfdir)
            except ImportError, KeyError:
                pass
        return list




    class Inventory(Application.Inventory):

        import pyre.inventory

        steps = pyre.inventory.int("steps", default=1)



# version
__id__ = "$Id$"

# End of file
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API