Skip to main content

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

Project details


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)

Uploaded Source

Built Distributions

redflyingbaron-0.1.1-py2.py3-none-any.whl (6.6 kB view details)

Uploaded Python 2 Python 3

redflyingbaron-0.1.1-py2.7.egg (4.1 kB view details)

Uploaded Source

File details

Details for the file redflyingbaron-0.1.1.tar.gz.

File metadata

File hashes

Hashes for redflyingbaron-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4816156ebeeffe0b427d58c1a3af8c3dbccfeb76de9c7868f31c8080a1d004e0
MD5 cae21169c28e6432b4d9d5c93e9460df
BLAKE2b-256 0f7d3a9386613e6d26d2f4ab93dd931f896ddc3f090a6e16fe60bac62f386519

See more details on using hashes here.

File details

Details for the file redflyingbaron-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for redflyingbaron-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 32204277d9f6a6d2b240bcd76d9ee1fc58774f48c3931e5878b89a07dd90d6b2
MD5 52e937694cd5ff7a7e8b50d3711aa614
BLAKE2b-256 aa82e85ac28a1426bf94fce8f5d8d9afb73f3d3b6a446bf30adc32fdbbd6b138

See more details on using hashes here.

File details

Details for the file redflyingbaron-0.1.1-py2.7.egg.

File metadata

File hashes

Hashes for redflyingbaron-0.1.1-py2.7.egg
Algorithm Hash digest
SHA256 4a07fefd9d1bdc5b09422b01efd73314159743fd7a8f2e47803d16be81d78c5e
MD5 b001cbbbdb1322be0fbc0d33360d7635
BLAKE2b-256 43494eb2fbad43e19195db34d4e9aef37a6f870eb22cc2d658378f1599d2bb35

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page