Project wrapper arround RedBaron
Project description
Quick & dirty doc
=================
There isn't that much here yet, I'm mostly playing arround.
In \*sh shell:
.. code:: bash
python redflyingbaron.py [list of python files]
In (I)Python shell:
.. code:: python
# assuming that you have run: python redflyingbaron.py redflyingbaron.py ./test_redflyingbaron.py
# for now, red is an overloaded OrderedDict that contains file paths as keys
# and the corresponding RedBaron instances as values.
red # display the current files
red[0] # access by index
red["./test_redflyingbaron.py"] # access by path (look at how this file is given in the cli; yes, it's a lame example)
red["test_redflyingbaron.py"] # access by filename
red["test_redflyingbaron"] # access by filename without extension
red[1:] # accept slices
red["f:./test_redflyingbaron.py"] # custom slicing query, returns files that match this request
red["f:redflyingbaron.py"] # think of using it on a django project and asking
red["f:redflyingbaron"] # all "models" files
red[re.compile(r'[^_]+')] # can use a regex (^ and $ are put arround the regex)
red["re:[^_]+"] # regex for the lazy
red[lambda key, value: "red" in key] # can use a callable
red.find("stuff") # return the first matched stuff
red.find_all("stuff") # return all the matched stuff of all the files
red("stuff") # same
red.display() # display the content of the files, useful with a slice
red[0].save() # save modifications to disk
red.save() # same but for all files of red (can be combined with slices)
red[0].reload() # reread the content of the file
red.reload() # same but for all files of red (can be combined with slices)
red.add("/path/to/file", "/path/to/another/file", "again.py") # add more files
Todo
====
Next
----
- .undo() .redo() (needs modifications of RedBaron to display hooks)
- .set\_automatic\_save() (or some better/other api) -> save at every
modification (needs modifications of RedBaron to display hooks)
- overload **del** so it behaves like **getitem**
- allow to use globs in red[query]
Futur
-----
- .edit(editor=None) (find editor in $EDITOR of env) launch a text
editor on a tmp file containing the currently selected stuff, when
editing is done, parse the result and replace the node on which
.edit() was done with the result (should be in RedBaron instead?)
- session management: automatically save redflyingbaron instance +
undo/redo + files content (not sure on this one) somewhere in .json,
allow to list those and go back into a session
- RedBaron wrapper to abstract the filesystem (use this to allow python
files to be anywhere http://docs.pyfilesystem.org/en/latest/)
- Add more filesystem abstraction, allow some kind of syntaxe like
"sftp://" "fuse://" on the Cli api
- history should be a tree like in vim/emacs
Changelog
=========
0.1.1 (2015-02-14)
----------------
- Convert README to rst for pypi
- add some classifiers
0.1 (2015-02-14)
----------------
- First release
=================
There isn't that much here yet, I'm mostly playing arround.
In \*sh shell:
.. code:: bash
python redflyingbaron.py [list of python files]
In (I)Python shell:
.. code:: python
# assuming that you have run: python redflyingbaron.py redflyingbaron.py ./test_redflyingbaron.py
# for now, red is an overloaded OrderedDict that contains file paths as keys
# and the corresponding RedBaron instances as values.
red # display the current files
red[0] # access by index
red["./test_redflyingbaron.py"] # access by path (look at how this file is given in the cli; yes, it's a lame example)
red["test_redflyingbaron.py"] # access by filename
red["test_redflyingbaron"] # access by filename without extension
red[1:] # accept slices
red["f:./test_redflyingbaron.py"] # custom slicing query, returns files that match this request
red["f:redflyingbaron.py"] # think of using it on a django project and asking
red["f:redflyingbaron"] # all "models" files
red[re.compile(r'[^_]+')] # can use a regex (^ and $ are put arround the regex)
red["re:[^_]+"] # regex for the lazy
red[lambda key, value: "red" in key] # can use a callable
red.find("stuff") # return the first matched stuff
red.find_all("stuff") # return all the matched stuff of all the files
red("stuff") # same
red.display() # display the content of the files, useful with a slice
red[0].save() # save modifications to disk
red.save() # same but for all files of red (can be combined with slices)
red[0].reload() # reread the content of the file
red.reload() # same but for all files of red (can be combined with slices)
red.add("/path/to/file", "/path/to/another/file", "again.py") # add more files
Todo
====
Next
----
- .undo() .redo() (needs modifications of RedBaron to display hooks)
- .set\_automatic\_save() (or some better/other api) -> save at every
modification (needs modifications of RedBaron to display hooks)
- overload **del** so it behaves like **getitem**
- allow to use globs in red[query]
Futur
-----
- .edit(editor=None) (find editor in $EDITOR of env) launch a text
editor on a tmp file containing the currently selected stuff, when
editing is done, parse the result and replace the node on which
.edit() was done with the result (should be in RedBaron instead?)
- session management: automatically save redflyingbaron instance +
undo/redo + files content (not sure on this one) somewhere in .json,
allow to list those and go back into a session
- RedBaron wrapper to abstract the filesystem (use this to allow python
files to be anywhere http://docs.pyfilesystem.org/en/latest/)
- Add more filesystem abstraction, allow some kind of syntaxe like
"sftp://" "fuse://" on the Cli api
- history should be a tree like in vim/emacs
Changelog
=========
0.1.1 (2015-02-14)
----------------
- Convert README to rst for pypi
- add some classifiers
0.1 (2015-02-14)
----------------
- First release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
redflyingbaron-0.1.1.tar.gz
(4.0 kB
view details)
Built Distributions
File details
Details for the file redflyingbaron-0.1.1.tar.gz
.
File metadata
- Download URL: redflyingbaron-0.1.1.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4816156ebeeffe0b427d58c1a3af8c3dbccfeb76de9c7868f31c8080a1d004e0 |
|
MD5 | cae21169c28e6432b4d9d5c93e9460df |
|
BLAKE2b-256 | 0f7d3a9386613e6d26d2f4ab93dd931f896ddc3f090a6e16fe60bac62f386519 |
File details
Details for the file redflyingbaron-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: redflyingbaron-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32204277d9f6a6d2b240bcd76d9ee1fc58774f48c3931e5878b89a07dd90d6b2 |
|
MD5 | 52e937694cd5ff7a7e8b50d3711aa614 |
|
BLAKE2b-256 | aa82e85ac28a1426bf94fce8f5d8d9afb73f3d3b6a446bf30adc32fdbbd6b138 |
File details
Details for the file redflyingbaron-0.1.1-py2.7.egg
.
File metadata
- Download URL: redflyingbaron-0.1.1-py2.7.egg
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a07fefd9d1bdc5b09422b01efd73314159743fd7a8f2e47803d16be81d78c5e |
|
MD5 | b001cbbbdb1322be0fbc0d33360d7635 |
|
BLAKE2b-256 | 43494eb2fbad43e19195db34d4e9aef37a6f870eb22cc2d658378f1599d2bb35 |