@@ -15,7 +15,7 @@ class Timew(object):
1515 """
1616 Manage a Timewarrior instance
1717
18- A temporary folder is used as data store of timewarrior .
18+ A temporary folder is used as data store of Timewarrior .
1919
2020 A timew client should not be used after being destroyed.
2121 """
@@ -26,7 +26,7 @@ def __init__(self,
2626 datadir = tempfile .mkdtemp (prefix = "timew_" ),
2727 configdir = tempfile .mkdtemp (prefix = "timew_" )):
2828 """
29- Initialize a timewarrior ( client) .
29+ Initialize a Timewarrior client.
3030 The program runs in a temporary folder.
3131
3232 :arg timew: Timewarrior binary to use as client (defaults: timew in PATH)
@@ -48,6 +48,14 @@ def __init__(self,
4848
4949 self .reset_env ()
5050
51+ def __repr__ (self ):
52+ txt = super (Timew , self ).__repr__ ()
53+ return "{0} running from {1}>" .format (txt [:- 1 ], self .datadir )
54+
55+ def __call__ (self , * args , ** kwargs ):
56+ """aka t = Timew() ; t() which is now an alias to t.runSuccess()"""
57+ return self .runSuccess (* args , ** kwargs )
58+
5159 def reset (self , keep_config = False , keep_extensions = False ):
5260 """Reset this instance to its maiden state"""
5361
@@ -70,14 +78,6 @@ def add_default_extension(self, filename):
7078
7179 shutil .copy (os .path .join (DEFAULT_EXTENSION_PATH , filename ), extfile )
7280
73- def __repr__ (self ):
74- txt = super (Timew , self ).__repr__ ()
75- return "{0} running from {1}>" .format (txt [:- 1 ], self .datadir )
76-
77- def __call__ (self , * args , ** kwargs ):
78- """aka t = Timew() ; t() which is now an alias to t.runSuccess()"""
79- return self .runSuccess (* args , ** kwargs )
80-
8181 def reset_env (self ):
8282 """Set a new environment derived from the one used to launch the test"""
8383 # Copy all env variables to avoid clashing subprocess environments
@@ -86,8 +86,7 @@ def reset_env(self):
8686 # As well as TIMEWARRIORDB
8787 self .env ["TIMEWARRIORDB" ] = self .datadir
8888
89- # As well as MANPATH, so that the help tests can find the
90- # uninstalled man pages
89+ # As well as MANPATH, so that the help tests can find the uninstalled man pages
9190 parts = self .timew .split (os .path .sep )[0 :- 2 ]
9291 parts .append ("doc" )
9392 self .env ["MANPATH" ] = os .path .sep .join (parts )
@@ -97,6 +96,27 @@ def config(self, var, value):
9796 cmd = (self .timew , ":yes" , "config" , var , value )
9897 return run_cmd_wait (cmd , env = self .env )
9998
99+ def del_config (self , var ):
100+ """Remove `var` from timew config"""
101+ cmd = (self .timew , ":yes" , "config" , var )
102+ return run_cmd_wait (cmd , env = self .env )
103+
104+ @property
105+ def timewrc_content (self ):
106+ """Returns the contents of the timewrc file."""
107+
108+ with open (self .timewrc , "r" ) as f :
109+ return f .readlines ()
110+
111+ def export (self , export_filter = None ):
112+ """Run "timew export", return JSON array of exported intervals."""
113+ if export_filter is None :
114+ export_filter = ""
115+
116+ code , out , err = self .runSuccess ("{0} export" .format (export_filter ))
117+
118+ return json .loads (out )
119+
100120 @staticmethod
101121 def _create_exclusion_interval (interval ):
102122 if not isinstance (interval , tuple ):
@@ -134,27 +154,6 @@ def configure_exclusions(self, intervals):
134154 self .config ("exclusions.saturday" , exclusion )
135155 self .config ("exclusions.sunday" , exclusion )
136156
137- def del_config (self , var ):
138- """Remove `var` from timew config"""
139- cmd = (self .timew , ":yes" , "config" , var )
140- return run_cmd_wait (cmd , env = self .env )
141-
142- @property
143- def timewrc_content (self ):
144- """Returns the contents of the timewrc file."""
145-
146- with open (self .timewrc , "r" ) as f :
147- return f .readlines ()
148-
149- def export (self , export_filter = None ):
150- """Run "timew export", return JSON array of exported intervals."""
151- if export_filter is None :
152- export_filter = ""
153-
154- code , out , err = self .runSuccess ("{0} export" .format (export_filter ))
155-
156- return json .loads (out )
157-
158157 @staticmethod
159158 def _split_string_args_if_string (args ):
160159 """
@@ -258,7 +257,7 @@ def destroy(self):
258257 self .destroy = lambda : None
259258
260259 def __destroyed (self , * args , ** kwargs ):
261- raise AttributeError ("Program instance has been destroyed. "
260+ raise AttributeError ("Timewarrior instance has been destroyed. "
262261 "Create a new instance if you need a new client." )
263262
264263 def faketime (self , faketime = None ):
0 commit comments