Wirawan Purwanto
332d9ae240
* wpylib.math: added choose() function.
12 years ago
Wirawan Purwanto
b58ea30ba8
* Added a facility to catch exception while capturing stdout, and deliver
...
the output printed so far (to stderr), plus re-raising the exception.
12 years ago
Wirawan Purwanto
f677dc1a81
* Added wpylib.py.stdout_capture as a hack tool to capture sys.stdout
...
output of a given function call (and its child subroutines).
12 years ago
Wirawan Purwanto
17d242213d
* Added some useful functions from my pw2g_bench_MnO.py scriptlet collection:
...
- wpylib.math.roundup()
- wpylib.shell_tools.dirname2()
* file_exists_nonempty() is moved to wpylib.shell_tools.
12 years ago
Wirawan Purwanto
96cec22fca
* wpylib.file.file_utils: added file_exists_nonempty() function.
12 years ago
Wirawan Purwanto
7ebb4004dc
* str_igrep(): use enumerate function.
13 years ago
Wirawan Purwanto
d70bcf2149
* In text_output methods, do the required action iff self.out is not None.
13 years ago
Wirawan Purwanto
81316af285
* Added os.path-like methods: isdir, isfile, islink.
...
The last one is not reliable, but is added for uniformity for the time
being.
13 years ago
Wirawan Purwanto
dcb7fa304c
* Added sftp_client.put() method.
...
* Added sftp_status_callback class.
13 years ago
Wirawan Purwanto
6433e5da3c
* Added prefix and suffix options for matrix_str and vector_str.
13 years ago
Wirawan Purwanto
140b3b699c
* Added wpylib.interactive_tools.printstr class to facilitate logging of
...
print-ed output in interactive python sessions.
13 years ago
Wirawan Purwanto
5c72506135
* New module: wpylib.file.tee
...
* Added class tee_output for splitting text output to multiple destinations.
13 years ago
Wirawan Purwanto
ad841e0b90
* text_input.read_items(): added option `end_line_match' and `last_line_match'
...
(mutually exclusive options) to allow the dataset reading to end upon
encountering certain text pattern (or a more complicated match, if we
specify a function for the option value).
These options can be used to work with the `maxcount' option; the shortest
of the two (maxcount records read first, or end/last_line_match finds a
match) will end the reading of the dataset.
13 years ago
Wirawan Purwanto
501552a65a
* Added zip_gen() to simulate the effect of built-in zip() function, but
...
implemented as a generator rather than yielding the list right away.
This is used mainly in loops, where we don't want to generate all the
elements due to memory concerns.
13 years ago
Wirawan Purwanto
606214eb66
* Changing all `isinstance(STUFF, str)' to `isinstance(STUFF, basestring)'
...
for future-proofing this code.
13 years ago
Wirawan Purwanto
6656d3d5e3
* In module text_input: Added head() and tail() to emulate the basic
...
behavior of UNIX commands with the same name.
Output lines are already split into a list of strings.
13 years ago
Wirawan Purwanto
41079fd92c
* sugar: Added is_iterable().
13 years ago
Wirawan Purwanto
14303979f1
* Recorded down some notes/caveat for init_interactive().
13 years ago
Wirawan Purwanto
4194344891
* init_interactive() returns True if interactive session is detected; False
...
otherwise.
13 years ago
Wirawan Purwanto
1674bfd256
* Added workaround so at least interactive python detection works
...
(although not perfectly) in python <= 2.5.
13 years ago
Wirawan Purwanto
f8a101fbe9
* Added comment_char option for text_input object creation.
...
* Memory leak bugfix: Use instance method weakref.
13 years ago
Wirawan Purwanto
5666280a45
* Alias "|" operator to "+" operator.
13 years ago
Wirawan Purwanto
3698671bed
* Added: fortran_bin_file.peek_next_rec_len() to fetch the next record length
...
while not advancing the read pointer to that record yet.
13 years ago
Wirawan Purwanto
050e2414ef
* Added faster LDdec1 for 1-based indexing.
...
Tested through N=1000.
13 years ago
Wirawan Purwanto
d04ea8cbea
* Completing jskip formula for LD that is analogous to the jskip formula for
...
UD matrix format.
13 years ago
Wirawan Purwanto
93a89d2606
* Created array indexer for "upper diagonal" indexing mode.
...
Apparently I was able to create the non-iterative version of UDdec (1-based
indices).
13 years ago
Wirawan Purwanto
961a802326
* Keep a copy of my symmetric array indexer worksheet in GIT.
...
Original signature:
-rw-r--r-- 1 wirawan0 wirawan0 1380 2010-04-27 15:55 symmetrix-array-index.py
b873ece4610483b3cd5290c6ddbc7426 symmetrix-array-index.py
13 years ago
wirawan
7017fdc6af
* Committing all dirty work to CVS. We are migrating to GIT.
...
Beware: changes in this commit may or may not work properly.
13 years ago
wirawan
8ebf1e422e
* Add important warning. Maybe in the future we need to use operator "|"
...
and append the search paths to _list_?
13 years ago
wirawan
81e2ada60c
* Allow comment character to be changed from "#" using the
...
instance.comment_char attribute.
13 years ago
wirawan
3f38cbfb34
* Allow printing of numpy.matrix objects.
13 years ago
wirawan
6fb10829e0
* Added Parameters._get_() method.
13 years ago
wirawan
aad559d86b
* Class Parameters: important change of behavior for more safety to avoid
...
potential confusion.
* Detail of the important changes:
1) by default now the function's local variables are not included in the
lookup chain. Use _localvars_ flag if you insist on doing that; but
be aware of the caveat (see Parameters' documentation).
2) the default _kwparam_ and _userparam_ names are now passed on to the
child Parameters object instead of the override values given through
the _create_ function argument.
Rationale: To begin with, the default names defined during the creation
of the parent Parameters object should be used by *all* the relevant
functions.
Overrides should be regarded as exceptional rather than common cases.
3) Value overrides (_kwparam_, _userparam_, etc.) in _create_ must now
be specified in keyword=value manner rather than as positional argument.
Rationale: Those overrides must be made conspicuous.
The keyword=value approach also makes the code more resilient to minor
API changes.
All unnamed parameters are supposed to be low-priority defaults.
13 years ago
wirawan
4aff740f55
* Parameters value lookup: use try..except EAFP rather LBYL approach.
...
* Add simple checks for _p, _opts_ default arguments in case they are not
indexable/dict-like objects. This is needed to avoid bizzare error messages
later then the Parameters object is in use.
13 years ago
wirawan
1181a7e516
* Add descriptive error message.
13 years ago
wirawan
ceeafa811a
* Added str_snippet() from MnO ipython script.
13 years ago
wirawan
c675077620
* Introducing self.lineno counter for line numbers (including the blanks
...
and comment lines).
13 years ago
wirawan
3f3c49df94
* Added file mode for file creation (default: "w").
13 years ago
wirawan
cde48ef8de
* wpylib.datetime: Date/time related module.
13 years ago
wirawan
3b522de2d6
* Added text_input.close() method.
13 years ago
wirawan
7d37c0b6ba
* Internal upgrade to factor out reusable parts (for future upgrades).
13 years ago
wirawan
cf46af2bc2
* Simple function rename: make_unbound_method -> make_unbound_instance_method.
13 years ago
wirawan
77a15740cb
* New module wpylib.debugging: Debugging tools.
13 years ago
wirawan
16c24736e4
* ipython-interactive-script.PY: skeleton for my ipython interactive script.
13 years ago
wirawan
1e3d236b1c
* Completing initial version of interactive tool support: added interactive
...
mode detection (plain python, `python -i', and ipython supported),
and my canned initialization for interactive python environment
(like MYSELF, ARGV).
14 years ago
wirawan
47f6bced79
* wpylib.math.linalg: Added initial module for linear-algebra convenience
...
functions, objects, and submodules.
14 years ago
wirawan
94c1651586
* wpylib.py.im_weakref: weakref for instance method.
...
Copied from Linux Screen Reader project.
14 years ago
wirawan
424a9238bb
* hacks.py: Added make_unbound_method to allow general function to participate
...
as hacked class methods.
14 years ago
wirawan
ceb8f35ec3
* Creating wpylib.py module to contain all python-level hacks.
...
Submodules are available for specialized and more complicated hacks.
14 years ago
wirawan
ad73b5af7f
* Added set_next_proc() method to set which procedure should be called when
...
"next()" method dispatcher is called.
This approach should get rid of the problem with circular reference which
causes the text_input instance not be erasable because of strong reference
to `self' in `self.next.im_self'.
14 years ago