]> git.llucax.com Git - software/pymin.git/log
software/pymin.git
17 years agoMerge or3st3s@azazel:/home/luca/repos/pymin
Nicolas Emiliani [Fri, 12 Oct 2007 18:59:55 +0000 (15:59 -0300)]
Merge or3st3s@azazel:/home/luca/repos/pymin

17 years agoAdd support to "operation tagging" to ListSubHandler and DictSubHandler.
Leandro Lucarella [Thu, 11 Oct 2007 21:06:57 +0000 (18:06 -0300)]
Add support to "operation tagging" to ListSubHandler and DictSubHandler.

"Operation tagging" means that if the contained objects has an _add,
_update or _delete attribute, it set them to true when the item is
added, updated or deleted respectively (in case that it's deleted, it's
not removed from the container, but it's not listed either, i.e. the
items are "logically" deleted, not really removed from the container).

Now ListSubHandler and DictSubHandler ihnerit from a new class
ContainerSubHandler which handles 95% of the code. Because of this, now
the "magic" attributes starts with _cont_ instead of _list_ or _dict_.
Existing handler were updated, but new ones should take this into
account.

17 years agoAdd a new, backward compatible, way to specify specific config dirs.
Leandro Lucarella [Thu, 11 Oct 2007 20:10:30 +0000 (17:10 -0300)]
Add a new, backward compatible, way to specify specific config dirs.

Now _config_writer_cfg_dir could be a dictionary instead of a string.
The dictionary maps template filenames to directories where to generate
(render) the configure files.

See the DnsHandler for an example.

17 years agoSe agrega soporte de pppoe, pptp al ppp.
Nicolas Emiliani [Thu, 11 Oct 2007 19:27:32 +0000 (16:27 -0300)]
Se agrega soporte de pppoe, pptp al ppp.

17 years agoSe agrega el manejo de ppp.
Nicolas Emiliani [Thu, 11 Oct 2007 16:54:46 +0000 (13:54 -0300)]
Se agrega el manejo de ppp.

17 years agoUse ListSubHandler in firewall rules.
Leandro Lucarella [Wed, 10 Oct 2007 20:27:39 +0000 (17:27 -0300)]
Use ListSubHandler in firewall rules.

17 years agoAdd a new helper class for services: ListSubHandler.
Leandro Lucarella [Wed, 10 Oct 2007 20:19:49 +0000 (17:19 -0300)]
Add a new helper class for services: ListSubHandler.

17 years agoBugfix: skip SubHandlers parent when looking for a handler/command/help.
Leandro Lucarella [Wed, 10 Oct 2007 20:19:18 +0000 (17:19 -0300)]
Bugfix: skip SubHandlers parent when looking for a handler/command/help.

17 years agoBugfix: use hasattr() right when looking for help.
Leandro Lucarella [Wed, 10 Oct 2007 20:01:16 +0000 (17:01 -0300)]
Bugfix: use hasattr() right when looking for help.

17 years agoBugfix: remove unused DictSubHandler attribute.
Leandro Lucarella [Wed, 10 Oct 2007 19:36:11 +0000 (16:36 -0300)]
Bugfix: remove unused DictSubHandler attribute.

17 years agoAdd default conversion from Sequence to str and unicode.
Leandro Lucarella [Wed, 10 Oct 2007 19:34:11 +0000 (16:34 -0300)]
Add default conversion from Sequence to str and unicode.

17 years agoUpdate services to use SubHandler and DictSubHandler.
Leandro Lucarella [Wed, 10 Oct 2007 20:31:08 +0000 (17:31 -0300)]
Update services to use SubHandler and DictSubHandler.

17 years agoRaise a CommandNotFoundError if updating an object without update().
Leandro Lucarella [Wed, 10 Oct 2007 19:00:43 +0000 (16:00 -0300)]
Raise a CommandNotFoundError if updating an object without update().

When a DictSubHandler try to update an object that doesn't have an
update() method, it raises a CommandNotFoundError to emulate that the
update command doesn't exist.

17 years agoMerge or3st3s@azazel:/home/luca/repos/pymin
Nicolas Emiliani [Wed, 10 Oct 2007 18:31:07 +0000 (15:31 -0300)]
Merge or3st3s@azazel:/home/luca/repos/pymin

17 years agoAdd new service helper classes: SubHandler and DictSubHandler.
Leandro Lucarella [Wed, 10 Oct 2007 18:23:47 +0000 (15:23 -0300)]
Add new service helper classes: SubHandler and DictSubHandler.

SubHandler just takes a reference to his parent.

DictSubHandler manages a parent's dict attribute, providing add, update,
delete, get, list and show commands.

Error classes were added too: ItemError, ItemNotFoundError and
ItemAlreadyExistsError.

17 years agoUpdate TODO list.
Leandro Lucarella [Wed, 10 Oct 2007 18:21:09 +0000 (15:21 -0300)]
Update TODO list.

17 years agoModificacion al vrrp para start y stop
Nicolas Emiliani [Wed, 10 Oct 2007 18:18:33 +0000 (15:18 -0300)]
Modificacion al vrrp para start y stop

17 years agoSe agrega el servicio de VRRP.
Nicolas Emiliani [Wed, 10 Oct 2007 17:38:36 +0000 (14:38 -0300)]
Se agrega el servicio de VRRP.

17 years agoImprove WrongArgumentError class.
Leandro Lucarella [Wed, 10 Oct 2007 15:06:15 +0000 (12:06 -0300)]
Improve WrongArgumentError class.

17 years agoHandle calling a command with an unexpected keyword argument errors.
Leandro Lucarella [Wed, 10 Oct 2007 14:57:58 +0000 (11:57 -0300)]
Handle calling a command with an unexpected keyword argument errors.

17 years agoMerge or3st3s@azazel:/home/luca/repos/pymin
Nicolas Emiliani [Wed, 10 Oct 2007 14:36:00 +0000 (11:36 -0300)]
Merge or3st3s@azazel:/home/luca/repos/pymin

17 years agoSe agrega el archivo de usuarios de proxy
Nicolas Emiliani [Wed, 10 Oct 2007 14:35:48 +0000 (11:35 -0300)]
Se agrega el archivo de usuarios de proxy

17 years agoBetter error message of wrong arguments in Dispatcher.
Leandro Lucarella [Mon, 8 Oct 2007 16:19:28 +0000 (13:19 -0300)]
Better error message of wrong arguments in Dispatcher.

17 years agoBugfix: make rollback to work.
Leandro Lucarella [Sun, 7 Oct 2007 22:01:45 +0000 (19:01 -0300)]
Bugfix: make rollback to work.

Rollback did never worked right on composed handlers (handlers with
sub-handlers) because when the class attributes were unpickled, they were
bounded to a new object instance, and the sub-handlers references were
never updated (the sub-handler referenced directly the handler attributes).

Now all sub-handlers references the handler object itself (called parent)
so when the unpikle is done, all can reference to the same objects.

17 years agoBugfix in command parser.
Leandro Lucarella [Sun, 7 Oct 2007 21:36:09 +0000 (18:36 -0300)]
Bugfix in command parser.

When escape sequences were after another token they were joined in a
single token. Now they are parsed as expected.

17 years agoAdd preliminary support for wrong arguments error reporting.
Leandro Lucarella [Sat, 6 Oct 2007 22:44:53 +0000 (19:44 -0300)]
Add preliminary support for wrong arguments error reporting.

It support wrong ammount of arguments, but not unexpected keyword argument
and maybe others.

17 years agofix command names
Fede [Sat, 6 Oct 2007 17:06:44 +0000 (14:06 -0300)]
fix command names

17 years agoSuse way
Fede [Sat, 6 Oct 2007 17:04:06 +0000 (14:04 -0300)]
Suse way

17 years agofix host FQDN
Fede [Sat, 6 Oct 2007 17:01:39 +0000 (14:01 -0300)]
fix host FQDN

17 years agoBugfixes to firewall service.
Fede [Sat, 6 Oct 2007 16:01:30 +0000 (13:01 -0300)]
Bugfixes to firewall service.

17 years agoAdd flush to iptables.sh template.
Fede [Sat, 6 Oct 2007 16:00:59 +0000 (13:00 -0300)]
Add flush to iptables.sh template.

17 years agoUpdate services.util errors to be unicode compatible.
Fede [Sat, 6 Oct 2007 15:59:55 +0000 (12:59 -0300)]
Update services.util errors to be unicode compatible.

17 years agoBugfix and add service reload when loading pickled config.
Fede [Sat, 6 Oct 2007 15:37:19 +0000 (12:37 -0300)]
Bugfix and add service reload when loading pickled config.

17 years agoreplaces prints with calls
Fede [Sat, 6 Oct 2007 15:34:14 +0000 (12:34 -0300)]
replaces prints with calls

17 years agobug fixes to proxy service
Fede [Sat, 6 Oct 2007 15:32:50 +0000 (12:32 -0300)]
bug fixes to proxy service

17 years agofix string quotation
Fede [Sat, 6 Oct 2007 13:46:08 +0000 (10:46 -0300)]
fix string quotation

17 years agosupport for proxy users auth
Fede [Sat, 6 Oct 2007 13:43:11 +0000 (10:43 -0300)]
support for proxy users auth

17 years agoMerge ../pymin
Fede [Sat, 6 Oct 2007 13:04:02 +0000 (10:04 -0300)]
Merge ../pymin

17 years agoImprove a lot error reporting and unicode/utf-8 compatibility.
Leandro Lucarella [Sat, 6 Oct 2007 04:02:35 +0000 (01:02 -0300)]
Improve a lot error reporting and unicode/utf-8 compatibility.

Conversion between unicode and utf-8 is now done when sending/receiving
over the network by the PyminDaemon.

All errors provides now a conversion to unicode.

Dispatcher CommandNotFoundError was refactored to multiple classes with
specific and more descriptive error messages.

Handlers now can have a little help string (handler_help).

Handler's help command now list subhandlers (using handler_help).

A new error was added for help command (HelpNotFoundError).

All service handlers were updated.

17 years agoUse common config and pickle paths in the pymind config.
Leandro Lucarella [Sat, 6 Oct 2007 02:47:55 +0000 (23:47 -0300)]
Use common config and pickle paths in the pymind config.

17 years agoAdd iptables configuration doc.
Leandro Lucarella [Fri, 5 Oct 2007 16:02:37 +0000 (13:02 -0300)]
Add iptables configuration doc.

17 years agoUse a handler object as the root dispatcher handler instead of a dict.
Leandro Lucarella [Fri, 5 Oct 2007 16:01:53 +0000 (13:01 -0300)]
Use a handler object as the root dispatcher handler instead of a dict.

Now the dispatcher use a handler object as the root handler. This way you
can inherit your root handler from Handler and get the useful 'help' and
'coommands' commands for free.

17 years agoSe agrega el manejo de usuarios al proxy
Nicolas Emiliani [Thu, 4 Oct 2007 19:21:14 +0000 (16:21 -0300)]
Se agrega el manejo de usuarios al proxy

17 years agoCreate a package named pymin with all the pymin modules.
Leandro Lucarella [Thu, 4 Oct 2007 16:10:14 +0000 (13:10 -0300)]
Create a package named pymin with all the pymin modules.

17 years agoChange "var" for "attr" where it refer to an object attribute.
Leandro Lucarella [Thu, 4 Oct 2007 14:48:23 +0000 (11:48 -0300)]
Change "var" for "attr" where it refer to an object attribute.

For example _persistent_vars is now _persistent_attrs. Mostly for
consistency and clarity.

17 years agoAdd a ParametersHandler to services.util.
Leandro Lucarella [Thu, 4 Oct 2007 14:35:40 +0000 (11:35 -0300)]
Add a ParametersHandler to services.util.

This class is a helper to provide common service parameters commands: get,
set, list and show.

All service handlers that use parameters were update to inherit from this
class.

17 years agoFactored out a lot of common code.
Leandro Lucarella [Wed, 3 Oct 2007 21:41:48 +0000 (18:41 -0300)]
Factored out a lot of common code.

A new module is created: services.util which has a lot of helper classes
and functions to do common tasks of service handlers. Actual classes are:
Persistent, Restorable, ConfigWriter, ServiceHandler, InitdHandler and
TransactionalHandler (see documentation for details).

A call() function is provided as a simple wrapper for subprocess.call() to
execute simple commands. It can raise and ExecutionError, as a wrapper for
subprocess.call exceptions or ReturnNot0Error if the returned value is not
0.

All actual service handlers were updated.

17 years agoSe agrega el proxy.
Nicolas Emiliani [Wed, 3 Oct 2007 18:26:22 +0000 (15:26 -0300)]
Se agrega el proxy.

17 years agoSe agrega el comando ip a la pymind y se corrige @handler
Nicolas Emiliani [Tue, 2 Oct 2007 16:11:13 +0000 (13:11 -0300)]
Se agrega el comando ip a la pymind y se corrige @handler

Se agrega a la configuracion el comando ip y se modifican
los handlers de dns e ip para que devuelvan con help

17 years agoMerge /home/luca/pymin
or3st3s [Tue, 2 Oct 2007 12:12:52 +0000 (12:12 +0000)]
Merge /home/luca/pymin

Conflicts:

config.py
services/__init__.py

17 years agoSe corrige bug que impide crear, borrar yc crear una zona.
Nicolas Emiliani [Tue, 2 Oct 2007 15:09:58 +0000 (12:09 -0300)]
Se corrige bug que impide crear, borrar yc crear una zona.

17 years agoSe modifica el comando ip.
Nicolas Emiliani [Mon, 1 Oct 2007 21:13:00 +0000 (18:13 -0300)]
Se modifica el comando ip.

Se  modifica para que haga el flush ante un commit
y ademas se parse la salida del ip link list para
cargar en el init los devices y direcciones mac de
cada device

17 years agoImplement firewall handler.
Leandro Lucarella [Mon, 1 Oct 2007 02:03:40 +0000 (23:03 -0300)]
Implement firewall handler.

17 years agoRename pymin daemon executable to pymind.
Leandro Lucarella [Mon, 1 Oct 2007 02:03:04 +0000 (23:03 -0300)]
Rename pymin daemon executable to pymind.

17 years agoAdd a special \N escape sequence to represent None to command parser.
Leandro Lucarella [Mon, 1 Oct 2007 01:06:39 +0000 (22:06 -0300)]
Add a special \N escape sequence to represent None to command parser.

Now \N can be used in positional parameters and keyword argument values to
represent a python None value.

Tests and examples are improved.

17 years agoBugfix: tokens starting with escape sequences where splitted up.
Leandro Lucarella [Mon, 1 Oct 2007 01:03:42 +0000 (22:03 -0300)]
Bugfix: tokens starting with escape sequences where splitted up.

17 years agoFix a typo in the documentation.
Leandro Lucarella [Sun, 30 Sep 2007 20:33:01 +0000 (17:33 -0300)]
Fix a typo in the documentation.

17 years agoSe agrega la estructura del comando IP
or3st3s [Sun, 30 Sep 2007 16:44:58 +0000 (16:44 +0000)]
Se agrega la estructura del comando IP

17 years agoSe agregar el dns al manejo del dispatcher.
or3st3s [Sat, 29 Sep 2007 14:20:31 +0000 (14:20 +0000)]
Se agregar el dns al manejo del dispatcher.

Se modifica config.py para que levante un DnsHandler.
Se modifica pymindaemon para que en caso de error 0 agregue
un fin de linea.
Se heredan las excepciones de Dns del HandlerError
.Se corrije el _write_config para que se comporte segun lo
esperado.

17 years agoExport only selected symbols.
Leandro Lucarella [Sat, 29 Sep 2007 05:58:41 +0000 (02:58 -0300)]
Export only selected symbols.

17 years agoAdd support for quoted and keyword arguments to the Dispatcher.
Leandro Lucarella [Sat, 29 Sep 2007 05:55:38 +0000 (02:55 -0300)]
Add support for quoted and keyword arguments to the Dispatcher.

Now it's possible to dispatch commands with quoted arguments, like:
echo "hello world"

Keyword arguments are supported too, you can write something like:
set variable=value
and the handler for set will be called like set(variable="value").

See dispatcher.parse_command for more detail.

17 years agoAdd help messages and command listing to dispatcher handlers.
Leandro Lucarella [Fri, 28 Sep 2007 21:20:54 +0000 (18:20 -0300)]
Add help messages and command listing to dispatcher handlers.

Now the @handle decorator takes a mandatory help argument to specify a
short help string for that handler. A new functions get_help() is added to
the dispatcher module to get the help string from a handler.

A new base Handler class is provided in dispatcher module to automatically
have a 'help' and 'commands' commands available.

17 years agoAdd missing \n to Internal server error.
Leandro Lucarella [Fri, 28 Sep 2007 19:36:17 +0000 (16:36 -0300)]
Add missing \n to Internal server error.

17 years agoUpdate TODO (add logging).
Leandro Lucarella [Fri, 28 Sep 2007 19:25:29 +0000 (16:25 -0300)]
Update TODO (add logging).

17 years agoImprove error handling.
Leandro Lucarella [Fri, 28 Sep 2007 17:11:14 +0000 (14:11 -0300)]
Improve error handling.

Now all errors that should be reported back to the pymin client should
inherit from dispatcher.HandlerError. Any other error is reported to the
client as an internal server error and it's printed in the daemon standard
output for debugging purposes. A new line is now appended to errors
reported to the client for better consistency with OK responses.

17 years agoInvert PyminDaemon constructor options and add defaults.
Leandro Lucarella [Fri, 28 Sep 2007 16:59:05 +0000 (13:59 -0300)]
Invert PyminDaemon constructor options and add defaults.

It's more likely to just want to override the routes and not the addr.

17 years agoBugfix: handle empty lists on as_table().
Leandro Lucarella [Fri, 28 Sep 2007 16:55:51 +0000 (13:55 -0300)]
Bugfix: handle empty lists on as_table().

17 years agoMerge /home/luca/pymin
or3st3s [Fri, 28 Sep 2007 15:48:18 +0000 (15:48 +0000)]
Merge /home/luca/pymin

17 years agoSe Agrega la estructura del DNS
Nicolas Emiliani [Fri, 28 Sep 2007 18:44:47 +0000 (15:44 -0300)]
Se Agrega la estructura del DNS

17 years agoAdd more documentation to seqtools module.
Leandro Lucarella [Thu, 27 Sep 2007 20:48:37 +0000 (17:48 -0300)]
Add more documentation to seqtools module.

17 years agoUse the serializer mode to automatically serialize handlers results.
Leandro Lucarella [Thu, 27 Sep 2007 20:48:09 +0000 (17:48 -0300)]
Use the serializer mode to automatically serialize handlers results.

Handlers now don't have to worry about serialization. All they have to do
is return list of values (which can be lists or iterable object). Then the
PyminDaemon serialize them to UTF-8 encoded CSV strings and send them
through socket.

17 years agoAdd a module to serialize a set of tabular data as a CSV file.
Leandro Lucarella [Thu, 27 Sep 2007 20:45:05 +0000 (17:45 -0300)]
Add a module to serialize a set of tabular data as a CSV file.

17 years agoAdd a module to handle unicode CSV files with multiple encodings.
Leandro Lucarella [Thu, 27 Sep 2007 16:38:42 +0000 (13:38 -0300)]
Add a module to handle unicode CSV files with multiple encodings.

17 years agoAdd an utility module for operating on sequences.
Leandro Lucarella [Thu, 27 Sep 2007 16:37:10 +0000 (13:37 -0300)]
Add an utility module for operating on sequences.

17 years agoAdd LoopInterruptedError documentation.
Leandro Lucarella [Thu, 27 Sep 2007 16:34:37 +0000 (13:34 -0300)]
Add LoopInterruptedError documentation.

17 years agoMake Host iterable so it can be used as a sequence when serializing.
Leandro Lucarella [Wed, 26 Sep 2007 21:15:39 +0000 (18:15 -0300)]
Make Host iterable so it can be used as a sequence when serializing.

17 years agoRemove old commented code.
Leandro Lucarella [Tue, 25 Sep 2007 17:17:18 +0000 (14:17 -0300)]
Remove old commented code.

17 years agoAdd DhcpHandler.get() and HostHandler.get() to get a single value.
Leandro Lucarella [Mon, 24 Sep 2007 20:59:20 +0000 (17:59 -0300)]
Add DhcpHandler.get() and HostHandler.get() to get a single value.

As a show() companion, new get() commands are added to get the information
about a single DHCP parameter or host.

17 years agoUpdate TODO list.
Leandro Lucarella [Mon, 24 Sep 2007 20:58:25 +0000 (17:58 -0300)]
Update TODO list.

17 years agoImprove error reporting.
Leandro Lucarella [Mon, 24 Sep 2007 20:58:02 +0000 (17:58 -0300)]
Improve error reporting.

Add new exception classes with better description of errors.

17 years agoBugfix: close() files after use them so the changes get flushed to disk.
Leandro Lucarella [Mon, 24 Sep 2007 20:55:49 +0000 (17:55 -0300)]
Bugfix: close() files after use them so the changes get flushed to disk.

17 years agoAdd a simple error reporting to the protocol.
Leandro Lucarella [Mon, 24 Sep 2007 20:55:15 +0000 (17:55 -0300)]
Add a simple error reporting to the protocol.

A new response type is added "ERROR", which indicates a failure in the
command execution. In the future different types of error could be defined.

17 years agoAdd a missing handler decorator to PyminDaemon test.
Leandro Lucarella [Mon, 24 Sep 2007 17:46:23 +0000 (14:46 -0300)]
Add a missing handler decorator to PyminDaemon test.

17 years agoAdd a simple response to all commands.
Leandro Lucarella [Mon, 24 Sep 2007 17:11:33 +0000 (14:11 -0300)]
Add a simple response to all commands.

The response consist of a success indicator ("OK") followed by the response
body lenght. The response body is command-dependant.

17 years agoAdd a decorator to mark which callables are exported by the dispatcher.
Leandro Lucarella [Mon, 24 Sep 2007 17:09:37 +0000 (14:09 -0300)]
Add a decorator to mark which callables are exported by the dispatcher.

All callables which should handle a command should be maked with the
@handler decorator. This is for the sake of security, so users can't call
arbitrary python code (like a constructor).

17 years agoDhcpHandler documentation and improvements.
Leandro Lucarella [Mon, 24 Sep 2007 17:04:42 +0000 (14:04 -0300)]
DhcpHandler documentation and improvements.

The path where to store pickled configuration and generated config files
is configurable when constructing the instance.

If there's a pickled configuration it's automatically loaded at
construction time. If not, a new configuration based on defaults is dumped
to disk.

New methods are added: restart(), reload() and rollback() and DhcpHandler
is published in the services module and included in the pymin daemon
command tree.

17 years agoBugfix: wrong variable usage.
Leandro Lucarella [Mon, 24 Sep 2007 16:52:13 +0000 (13:52 -0300)]
Bugfix: wrong variable usage.

17 years agoAdd a LoopInterruptedError to the EventLoop.
Leandro Lucarella [Mon, 24 Sep 2007 16:51:02 +0000 (13:51 -0300)]
Add a LoopInterruptedError to the EventLoop.

This error is raised as a translation for the select.error, raised when
the system call is interrupted by a signal, so EventLoop users don't have
to know the details about the loop.

17 years agoUpdate TODO list.
Leandro Lucarella [Mon, 24 Sep 2007 16:48:54 +0000 (13:48 -0300)]
Update TODO list.

17 years agoImplement DhcpdHandler class.
Leandro Lucarella [Sat, 22 Sep 2007 22:44:14 +0000 (19:44 -0300)]
Implement DhcpdHandler class.

A complete example of a handler class. It uses mako for templates and (c)Pickle
for configuration persistence. There is some more work to be done (loading
pickled configuration and other details) but the class is pretty functional.

17 years agoBig repository (and source) rebump.
Leandro Lucarella [Sat, 22 Sep 2007 04:50:53 +0000 (01:50 -0300)]
Big repository (and source) rebump.

A lot was changed, is allmost a new repo import =P

17 years agoSe crea el repo del pymin.
or3st3s [Thu, 20 Sep 2007 17:50:16 +0000 (17:50 +0000)]
Se crea el repo del pymin.