diff options
author | Ryan S. Arnold <ryan.arnold@linaro.org> | 2016-08-17 11:56:01 -0500 |
---|---|---|
committer | Ryan S. Arnold <ryan.arnold@linaro.org> | 2016-08-17 11:56:01 -0500 |
commit | 622da8d1c381ac634635d0905679d6f7641698eb (patch) | |
tree | 64b843608821c962eebdba0d9c3092907d08ba44 | |
parent | d3848d12854f5b19351bf1ff5e2d7cc95d8fc95c (diff) |
Re-organize python code to use a directory module layout
-rw-r--r-- | linaropy/__init__.py | 1 | ||||
-rw-r--r-- | linaropy/git/__init__.py | 0 | ||||
-rw-r--r-- | linaropy/git/clone.py (renamed from clone.py) | 2 | ||||
-rw-r--r-- | linaropy/git/gitrepo.py (renamed from gitrepo.py) | 2 | ||||
-rw-r--r-- | linaropy/git/workdir.py (renamed from workdir.py) | 2 | ||||
-rw-r--r-- | linaropy/handle_exit.py (renamed from handle_exit.py) | 0 | ||||
-rw-r--r-- | linaropy/proj.py (renamed from proj.py) | 3 | ||||
-rw-r--r-- | linaropy/rn/__init__.py | 0 | ||||
-rw-r--r-- | linaropy/rn/custom_wordwrap.py (renamed from custom_wordwrap.py) | 0 | ||||
-rw-r--r-- | linaropy/rn/gccclone.py (renamed from gccclone.py) | 4 | ||||
-rw-r--r-- | linaropy/rn/linaroseries.py (renamed from linaroseries.py) | 9 | ||||
-rw-r--r-- | linaropy/rn/rngen.py (renamed from rngen.py) | 4 | ||||
-rw-r--r-- | linaropy/rn/rnseries.py (renamed from rnseries.py) | 16 | ||||
-rw-r--r-- | linaropy/rn/template.py (renamed from template.py) | 8 | ||||
-rw-r--r-- | linaropy/rninput.py (renamed from rninput.py) | 0 | ||||
-rw-r--r-- | linaropy/series.py (renamed from series.py) | 2 | ||||
-rw-r--r-- | linaropy/vers.py (renamed from vers.py) | 0 | ||||
-rw-r--r-- | rn.py | 22 | ||||
-rw-r--r-- | testrn.py | 24 |
19 files changed, 61 insertions, 38 deletions
diff --git a/linaropy/__init__.py b/linaropy/__init__.py new file mode 100644 index 0000000..987d6df --- /dev/null +++ b/linaropy/__init__.py @@ -0,0 +1 @@ +#__all__ = ["linarorn", "linarogit"] diff --git a/linaropy/git/__init__.py b/linaropy/git/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/linaropy/git/__init__.py diff --git a/clone.py b/linaropy/git/clone.py index a3544bf..d8fe126 100644 --- a/clone.py +++ b/linaropy/git/clone.py @@ -11,7 +11,7 @@ from sh import chmod # In order to set directory read/write permissions for test cases from stat import * -from proj import Proj +from ..proj import Proj from gitrepo import cd from gitrepo import GitRepo diff --git a/gitrepo.py b/linaropy/git/gitrepo.py index 06a79de..99b2573 100644 --- a/gitrepo.py +++ b/linaropy/git/gitrepo.py @@ -11,7 +11,7 @@ import subprocess # Use this to manage 'cd' context from contextlib import contextmanager -from proj import Proj +from ..proj import Proj # Return to prevdir when context is exited. # Use in the following manner: # diff --git a/workdir.py b/linaropy/git/workdir.py index e939dd0..77fa22a 100644 --- a/workdir.py +++ b/linaropy/git/workdir.py @@ -4,7 +4,7 @@ import os import uuid -from proj import Proj +from ..proj import Proj from gitrepo import cd from gitrepo import GitRepo diff --git a/handle_exit.py b/linaropy/handle_exit.py index 7eb4ae1..7eb4ae1 100644 --- a/handle_exit.py +++ b/linaropy/handle_exit.py diff --git a/proj.py b/linaropy/proj.py index 8f8fa7b..819cbe4 100644 --- a/proj.py +++ b/linaropy/proj.py @@ -24,12 +24,11 @@ class Proj(object): self.persist=False longevity="temporary" - #TODO: Take an option variable to pass to mkdtemp to collect all - # instances of Proj in to for testing purposes. self.projdir=unicode(tempfile.mkdtemp(prefix=prefix), "utf-8") logging.info("Created %s project directory in %s" % (longevity, self.projdir)) def cleanup(self): + #FIXME: Only rm -rf if the directory exists. Make sure it's not / or /home # #TODO: make sure that persisdir isn't a mount-bind to /home if not self.persist and self.projdir != "/" and self.projdir != "/home": diff --git a/linaropy/rn/__init__.py b/linaropy/rn/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/linaropy/rn/__init__.py diff --git a/custom_wordwrap.py b/linaropy/rn/custom_wordwrap.py index 4ed3e25..4ed3e25 100644 --- a/custom_wordwrap.py +++ b/linaropy/rn/custom_wordwrap.py diff --git a/gccclone.py b/linaropy/rn/gccclone.py index dcb8b71..36f610b 100644 --- a/gccclone.py +++ b/linaropy/rn/gccclone.py @@ -1,7 +1,7 @@ -from clone import Clone from sh import git -from gitrepo import cd +from ..git.clone import Clone +from ..git.gitrepo import cd class GCCClone(Clone): def __init__(self, proj, clonedir=None, remote=None ): diff --git a/linaroseries.py b/linaropy/rn/linaroseries.py index 382ed08..f978655 100644 --- a/linaroseries.py +++ b/linaropy/rn/linaroseries.py @@ -1,13 +1,12 @@ import unittest import copy -from series import Series -from series import seriesFromBranchname from datetime import datetime from dateutil.relativedelta import relativedelta -from vers import Spin -from vers import Rc - +from ..vers import Spin +from ..vers import Rc +from ..series import Series +from ..series import seriesFromBranchname # Progression: # The Linaro release progression follows. diff --git a/rngen.py b/linaropy/rn/rngen.py index 004ad4d..b030a3e 100644 --- a/rngen.py +++ b/linaropy/rn/rngen.py @@ -30,12 +30,12 @@ from shutil import copyfile # To test if a remote file exists. import urllib2 -from series import Series +from ..series import Series from linaroseries import LinaroSeries from rnseries import CandidateRN from gccclone import GCCClone -from rninput import finput +from ..rninput import finput def get_gcc_version(gccclone): dct= {} diff --git a/rnseries.py b/linaropy/rn/rnseries.py index 1b02373..d3e2c3f 100644 --- a/rnseries.py +++ b/linaropy/rn/rnseries.py @@ -2,20 +2,20 @@ import unittest import logging import os -from proj import Proj from sh import ls from shutil import copyfile -from gitrepo import cd -from clone import Clone -from workdir import Workdir -from series import Series -from series import seriesFromBranchname +from ..proj import Proj +from ..git.gitrepo import cd +from ..git.clone import Clone +from ..git.workdir import Workdir +from ..series import Series +from ..series import seriesFromBranchname from linaroseries import LinaroSeries from linaroseries import linaroSeriesFromBranchname from template import TemplateRN -from rninput import yninput +from ..rninput import yninput # Abstract base class for a release-notes series # Every RNSeries has a templateRN instance and a workdir. The template @@ -29,7 +29,7 @@ class RNSeries(object): # If there isn't one a new one will be cloned. # @trackseries - an instance of a LinaroSeries to track. # @nextseries - an instance of a LinaroSeries that is the next series. - def __init__(self, proj, rnrepo=None, trackseries=None, nextseries=None): + def __init__(self, proj, rnrepo=None, trackseries=None, nextseries=None, headless=False): # Create the release-notes repository clone. The Clone constructor # will throw an exception if proj is not a Proj. That is an diff --git a/template.py b/linaropy/rn/template.py index 4f6a865..c036add 100644 --- a/template.py +++ b/linaropy/rn/template.py @@ -5,10 +5,10 @@ import sys import uuid from sh import ls -from proj import Proj -from clone import Clone -from workdir import Workdir -from rninput import yninput +from ..proj import Proj +from ..git.clone import Clone +from ..git.workdir import Workdir +from ..rninput import yninput class TemplateRN(Workdir): _readme='components/toolchain/binaries/README.textile' diff --git a/rninput.py b/linaropy/rninput.py index 86d3d90..86d3d90 100644 --- a/rninput.py +++ b/linaropy/rninput.py diff --git a/series.py b/linaropy/series.py index 6475fe3..3db2c97 100644 --- a/series.py +++ b/linaropy/series.py @@ -7,11 +7,11 @@ from vers import Spin from vers import Rc from vers import Vendor from vers import Package +from vers import packageFromStr from datetime import datetime from dateutil.relativedelta import relativedelta -from vers import packageFromStr # A Series stores the instance characteristic that describes the output class Series(object): diff --git a/vers.py b/linaropy/vers.py index 6126a01..6126a01 100644 --- a/vers.py +++ b/linaropy/vers.py @@ -7,20 +7,20 @@ import os import sys # handle_exit is a context manager which guarantees that the project temporary # directories are cleaned up when there are signals. -from handle_exit import handle_exit +from linaropy.handle_exit import handle_exit from datetime import datetime -from series import Series -from gccclone import GCCClone -from clone import Clone -from linaroseries import LinaroSeries -from linaroseries import linaroSeriesFromBranchname -from proj import Proj -from gitrepo import cd -from template import TemplateRN -from rnseries import CandidateRN -from rngen import rngen +from linaropy.series import Series +from linaropy.rn.gccclone import GCCClone +from linaropy.git.clone import Clone +from linaropy.rn.linaroseries import LinaroSeries +from linaropy.rn.linaroseries import linaroSeriesFromBranchname +from linaropy.proj import Proj +from linaropy.git.gitrepo import cd +from linaropy.rn.template import TemplateRN +from linaropy.rn.rnseries import CandidateRN +from linaropy.rn.rngen import rngen rnProj=[] diff --git a/testrn.py b/testrn.py new file mode 100644 index 0000000..196cbaf --- /dev/null +++ b/testrn.py @@ -0,0 +1,24 @@ +from unittest +from rn import create_parser + +class TestRn(TestCase): +""" +Base TestCase class, sets up a CLI parser +""" +@classmethod +def setUpClass(cls): + parser = create_parser() + cls.parser = parser + +def test_foo(self): +# args = self.parser.parse_args(['foo', '-R', '', '-A', 'idbs81839']) +# result = ping(args.tags, args.region, args.ami) +# self.assertIsNotNone(result) + +# TODO: test %Y.%m.%d dates +# TODO: test %Y.%m dates +# TODO: test non-conformant dates +# TODO: snapshots/linaro-5.3-2016.05-6 -c -d "2016.06." --strict + +if __name__ == '__main__': + unittest.main() |