from __future__ import print_function import os import re import errno from eups.utils import ctimeTZ, stdwarn, getUserName who = getUserName(full=True) class ChainFile(object): """ a representation of the data contained in a product tag chain file. This file records which version of a product a particular tag is assigned to. @author: Raymond Plante """ # Per-flavor metadata fields in file, in order of appearance. # Values are stored in self.info _fields = [ "DECLARER", "DECLARED", "MODIFIER", "MODIFIED", ] def __init__(self, file, productName=None, tag=None, verbosity=0, readFile=True): # the file containing the tag information self.file = file
from eups.exceptions import EupsException,ProductNotFound, UnderSpecifiedProduct from eups.db import Database # Issues: # o restoring from cache (when and how) # the version name for the persistence format used by this implementation. # It is intended to match the version of EUPS when this format was introduced persistVersionName = "1.3.0" # the prefix to a tag name that labels it as a user tag. Anything left over is # considered a global tag. userPrefix = "user:"******""" a lookup for products installed into a software "stack" managed by EUPS via a single ups_db database. This class is can persist its data to disk on every update when instantiated with saving turned on (save contructor parameter). The instantiater is responsible for ensuring that the current user has permission to write to caching directory (given via the constructor or defaults to the ups_db directory. It also supports a notion of global versus user tags. Tags that should be considered as user-specific should start with the prefix "user:". This will affect where tag information is persisted. A user tag is
import os, re, sys, errno from eups.utils import ctimeTZ, isRealFilename, stdwarn, stderr, getUserName who = getUserName(full=True) class ChainFile(object): """ a representation of the data contained in a product tag chain file. This file records which version of a product a particular tag is assigned to. @author: Raymond Plante """ # Per-flavor metadata fields in file, in order of appearance. # Values are stored in self.info _fields = [ "DECLARER", "DECLARED", "MODIFIER", "MODIFIED", ] def __init__(self, file, productName=None, tag=None, verbosity=0, readFile=True):
from eups.db import Database from ..utils import xrange # Issues: # o restoring from cache (when and how) # the version name for the persistence format used by this implementation. # It is intended to match the version of EUPS when this format was introduced persistVersionName = "1.3.0" # the prefix to a tag name that labels it as a user tag. Anything left over is # considered a global tag. userPrefix = "user:"******""" a lookup for products installed into a software "stack" managed by EUPS via a single ups_db database. This class is can persist its data to disk on every update when instantiated with saving turned on (save contructor parameter). The instantiater is responsible for ensuring that the current user has permission to write to caching directory (given via the constructor or defaults to the ups_db directory. It also supports a notion of global versus user tags. Tags that should be considered as user-specific should start with the prefix "user:".