def test_log_default(): logger = log.get_logger("Default_Logger", log.DEFAULT) assert logger.name == "Default_Logger" assert logger.level == log.DEFAULT logger = log.get_logger("SP_Default_Logger", log.DEFAULT) assert logger.name == "SP_Default_Logger" assert logger.level == log.DEFAULT logger = log.get_logger("YA_Default_Logger") assert logger.name == "YA_Default_Logger" assert logger.level == log.DEFAULT
def test_log_other(): logger = log.get_logger("Critical_Logger", log.CRITICAL) assert logger.name == "Critical_Logger" assert logger.level == logging.CRITICAL logger = log.get_logger("Error_Logger", log.ERROR) assert logger.name == "Error_Logger" assert logger.level == logging.ERROR logger = log.get_logger("Warning_Logger", log.WARNING) assert logger.name == "Warning_Logger" assert logger.level == logging.WARNING logger = log.get_logger("Info_Logger", log.INFO) assert logger.name == "Info_Logger" assert logger.level == logging.INFO logger = log.get_logger("Debug_Logger", log.DEBUG) assert logger.name == "Debug_Logger" assert logger.level == logging.DEBUG
from fs.utils import copyfile from tendril.dox import docstore from tendril.dox import render from tendril.boms.outputbase import DeltaOutputBom from tendril.entityhub import projects from tendril.entityhub import serialnos from tendril.entityhub.modules import get_module_instance from tendril.entityhub.modules import get_module_prototype from tendril.gedaif.conffile import ConfigsFile from tendril.utils import log from tendril.utils.fsutils import get_tempname from tendril.utils.fsutils import temp_fs from tendril.utils.files.pdf import merge_pdf logger = log.get_logger(__name__, log.DEBUG) def gen_pcb_am(configname, outfolder, sno=None, productionorderno=None, indentsno=None, scaffold=False, verbose=True, session=None): """ Generates a PCB Assembly Manifest for a 'card', a card being defined as a gEDA project, with a specified ``configname``. In the present implementation, the project could provide either a PCB or a
:func: _get_parser :prog: tendril-writecalib :nodefault: """ import argparse from tendril.entityhub import macs from tendril.entityhub import serialnos from tendril.testing import testrunner from .helpers import add_base_options from tendril.utils import log logger = log.get_logger("writecalib", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-writecalib script. """ parser = argparse.ArgumentParser( description='Write calibration parameters to device.', prog='tendril-writecalib') add_base_options(parser) parser.add_argument('serialno', metavar='SNO', type=str, nargs='?', help='Device serial number')
.. rubric:: Script Usage .. argparse:: :module: tendril.scripts.getdox :func: _get_parser :prog: tendril-getdox :nodefault: """ import argparse from tendril.dox import docstore from tendril.utils import log logger = log.get_logger("getdox", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-getdox script. """ parser = argparse.ArgumentParser( description='Copy published documents into the workspace.', prog='tendril-getdox' ) parser.add_argument( 'serialno', metavar='SNO', type=str, nargs='?', help='Document serial number' ) parser.add_argument(
.. argparse:: :module: tendril.scripts.getdox :func: _get_parser :prog: tendril-getdox :nodefault: """ import argparse from .helpers import add_base_options from tendril.dox import docstore from tendril.utils import log logger = log.get_logger("getdox", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-getdox script. """ parser = argparse.ArgumentParser( description='Copy published documents into the workspace.', prog='tendril-getdox') add_base_options(parser) parser.add_argument('serialno', metavar='SNO', type=str, nargs='?', help='Document serial number')
import numpy from six import iteritems from decimal import Decimal from tendril.utils.versions import get_namespace_package_locations from tendril.config import DOX_TEMPLATE_FOLDER from tendril.identity.persona import primary_persona from tendril.utils.colors import tableau20 from tendril.utils.types.unitbase import NumericalUnitBase from tendril.utils.types.currency import CurrencyValue from tendril.utils import log logger = log.get_logger(__name__, log.INFO) import matplotlib matplotlib.use('Agg') from matplotlib import pyplot FNULL = open(os.devnull, 'w') __version__ = '0.1.2' def format_currency(value): """ Formats a number into the correct number of decimals (2) and with thousands separators ``,``, for use when rendering currencies.
""" import re import argparse from tendril.gedaif import gsymlib from tendril.entityhub import supersets from tendril.conventions.status import print_status from .helpers import add_base_options from colorama import Style from tendril.utils import terminal from tendril.utils import log logger = log.get_logger("gsymlib", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-gedaif script. """ parser = argparse.ArgumentParser( description='Simple search tools for searching the gEDA ' 'symbol library.', prog='tendril-gedaif') add_base_options(parser) parser.add_argument('-s', '--search', metavar='SEARCH STRING', type=str,
""" import argparse import os from tendril.sourcing.vendors import csil from tendril.entityhub import projects from tendril.gedaif import conffile from tendril.gedaif.conffile import NoGedaProjectError from tendril.utils import log from tendril.utils.config import PROJECTS_ROOT from tendril.utils.fsutils import in_directory from .helpers import add_base_options from .helpers import add_project_selector_options logger = log.get_logger("genpcbpricing", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-genpcbpricing script. """ parser = argparse.ArgumentParser( description='(Re-)Generate CSIL PCB Pricing Information.', prog='tendril-genpcbpricing') add_base_options(parser) parser.add_argument( '--force', '-f', action='store_true', default=False,
:func: _get_parser :prog: tendril-runtest :nodefault: """ import argparse from colorama import Fore from tendril.entityhub import macs from tendril.entityhub import serialnos from tendril.testing import testrunner from .helpers import add_base_options from tendril.utils import log logger = log.get_logger("runtest", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-runtest script. """ parser = argparse.ArgumentParser( description='Run device tests for a device', prog='tendril-runtest') add_base_options(parser) parser.add_argument('serialno', metavar='SNO', type=str, nargs='?', help='Device serial number') parser.add_argument(
from fs.utils import copyfile import docstore import render from tendril.boms.outputbase import DeltaOutputBom from tendril.entityhub import projects from tendril.entityhub import serialnos from tendril.entityhub.modules import get_module_instance from tendril.entityhub.modules import get_module_prototype from tendril.gedaif.conffile import ConfigsFile from tendril.utils import log from tendril.utils.fsutils import get_tempname from tendril.utils.fsutils import temp_fs from tendril.utils.files.pdf import merge_pdf logger = log.get_logger(__name__, log.DEBUG) def gen_pcb_am(configname, outfolder, sno=None, productionorderno=None, indentsno=None, scaffold=False, verbose=True, session=None): """ Generates a PCB Assembly Manifest for a 'card', a card being defined as a gEDA project, with a specified ``configname``. In the present implementation, the project could provide either a PCB or a Cable. - In case the project provides the card, the schematic for the cable is included along with the assembly manifest. - In case the project provides a PCB, the schematic is not included with the assembly manifest.
import shutil from tendril.conventions.motifs import create_motif_object from tendril.conventions.electronics import ident_transform from tendril.boms.validate import ValidationContext from tendril.boms.validate import ErrorCollector from tendril.boms.validate import BomMotifPolicy from tendril.boms.validate import BomMotifUnrecognizedError import projfile from tendril.utils.config import INSTANCE_CACHE from tendril.utils.config import PROJECTS_ROOT from tendril.utils import fsutils from tendril.utils import log logger = log.get_logger(__name__, level=log.WARNING) FNULL = open(os.devnull, 'w') class BomLine(object): def __init__(self, line, columns): self.data = {} elems = line.split('\t') for i in range(len(columns)): self.data[columns[i]] = elems[i] def __repr__(self): return self.data.__repr__()
from suds.transport.http import HttpAuthenticated from suds.transport.http import HttpTransport try: import cPickle as pickle except ImportError: import pickle from .helpers import proxy_dict from .caching import CacheBase from tendril.config import INSTANCE_CACHE from tendril.config import MAX_AGE_DEFAULT from tendril.utils import log logger = log.get_logger(__name__, log.WARNING) logging.getLogger('suds.xsd.query').setLevel(logging.INFO) logging.getLogger('suds.xsd.sxbasic').setLevel(logging.INFO) logging.getLogger('suds.xsd.schema').setLevel(logging.INFO) logging.getLogger('suds.xsd.sxbase').setLevel(logging.INFO) logging.getLogger('suds.metrics').setLevel(logging.INFO) logging.getLogger('suds.wsdl').setLevel(logging.INFO) logging.getLogger('suds.client').setLevel(logging.INFO) logging.getLogger('suds.resolver').setLevel(logging.INFO) logging.getLogger('suds.umx.typed').setLevel(logging.INFO) logging.getLogger('suds.mx.literal').setLevel(logging.INFO) logging.getLogger('suds.mx.core').setLevel(logging.INFO) logging.getLogger('suds.transport.http').setLevel(logging.INFO) SOAP_CACHE = os.path.join(INSTANCE_CACHE, 'soapcache')
# # 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 Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. """ This file is part of tendril See the COPYING, README, and INSTALL files for more information """ import os from tendril.entityhub.guidelines import QtyGuidelines from tendril.utils.config import INSTANCE_ROOT from tendril.utils import log logger = log.get_logger(__name__, log.INFO) electronics_qty_file = os.path.join(INSTANCE_ROOT, 'inventory', 'guidelines', 'electronics-qty.yaml' ) logger.info("Loading Electronics Inventory Qty Guidelines from file : " + os.linesep + electronics_qty_file) electronics_qty = QtyGuidelines(electronics_qty_file)
:module: tendril.scripts.writecalib :func: _get_parser :prog: tendril-writecalib :nodefault: """ import argparse from tendril.entityhub import macs from tendril.entityhub import serialnos from tendril.testing import testrunner from tendril.utils import log logger = log.get_logger("writecalib", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-writecalib script. """ parser = argparse.ArgumentParser(description="Write calibration parameters to device.", prog="tendril-writecalib") parser.add_argument("serialno", metavar="SNO", type=str, nargs="?", help="Device serial number") parser.add_argument( "--detect", "-d", metavar=("MACTYPE"), type=str, nargs=1, help="Autodetect serial number using the specified MACTYPE. " "No effect if serial number specified.",
from tendril.utils.db import with_db from tendril.utils.db import get_session from tendril.entityhub import serialnos from tendril.entityhub.db.model import SerialNumber from tendril.entityhub.db.controller import SerialNoNotFound from tendril.entityhub.entitybase import EntityNotFound from tendril.auth.db.controller import get_user_object from .model import InventoryIndent from .model import InventoryLocationCode from tendril.utils.config import INVENTORY_LOCATIONS from tendril.utils import log logger = log.get_logger(__name__, log.DEFAULT) class IndentNotFound(EntityNotFound): pass @with_db def get_inventory_indent(serialno=None, session=None): if serialno is None: raise AttributeError("serialno cannot be None") if not isinstance(serialno, SerialNumber): try: serialno = serialnos.get_serialno_object(sno=serialno, session=session) except SerialNoNotFound:
import os import argparse from tendril.entityhub import projects from tendril.sourcing import csil from tendril.gedaif.conffile import NoGedaProjectError from tendril.gedaif import conffile from tendril.utils.config import PROJECTS_ROOT from tendril.utils.fsutils import in_directory from .helpers import add_project_selector_options from tendril.utils import log logger = log.get_logger("genpcbpricing", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-genpcbpricing script. """ parser = argparse.ArgumentParser( description='(Re-)Generate CSIL PCB Pricing Information.', prog='tendril-genpcbpricing' ) parser.add_argument( '--force', '-f', action='store_true', default=False, help='Regenerate pricing even if it seems to be up-to-date' ) parser.add_argument(
from tendril.testing import analysis from tendril.utils.db import with_db from tendril.entityhub import serialnos from tendril.entityhub import projects from tendril.gedaif.conffile import ConfigsFile from tendril.utils import vcs from tendril.entityhub.db.model import SerialNumber from tendril.entityhub.db import controller as sno_controller from render import render_pdf import docstore from tendril.utils.config import INSTANCE_ROOT from tendril.utils import log logger = log.get_logger(__name__, log.DEFAULT) default_target = os.path.join(INSTANCE_ROOT, 'scratch', 'testing') @with_db def render_test_report(serialno=None, outfolder=None, session=None): """ Renders the latest test results marked against the specified ``serialno``. Since this function is defined against the database, all arguments should be keyword arguments. :param serialno: The serial number of the device. :type serialno: :class:`str` or :class:`tendril.entityhub.db.SerialNumber` :param outfolder: The folder in which the output file should be created. :type outfolder: str
import os import argparse from tendril.gedaif import conffile from tendril.entityhub import projects from tendril.entityhub import modules from tendril.config.legacy import PROJECTS_ROOT from tendril.utils.fsutils import in_directory from .helpers import add_module_selector_options from .helpers import get_project_folder from .helpers import add_base_options from tendril.utils import log logger = log.get_logger("validate", log.DEFAULT) def _get_parser(): """ Constructs the CLI argument parser for the tendril-validate script. """ parser = argparse.ArgumentParser( description='Validate (gEDA) projects and modules.', prog='tendril-validate') add_base_options(parser) add_module_selector_options(parser) parser.add_argument('--sourcing', '-s', action='store_true', default=False,