--- - branch: MAIN date: Tue Jul 29 02:42:01 UTC 2014 files: - new: '1.5' old: '1.4' path: pkgsrc/www/py-uliweb/Makefile pathrev: pkgsrc/www/py-uliweb/Makefile@1.5 type: modified - new: '1.3' old: '1.2' path: pkgsrc/www/py-uliweb/PLIST pathrev: pkgsrc/www/py-uliweb/PLIST@1.3 type: modified - new: '1.2' old: '1.1' path: pkgsrc/www/py-uliweb/distinfo pathrev: pkgsrc/www/py-uliweb/distinfo@1.2 type: modified id: 20140729T024201Z.49b1cdb89311dc0a53e0dc9e6329cbf3521d85ad log: | Update to 0.3.1 Upstream changes: 0.3.1 Version ----------------- * Add qqmail mail server backend support, thanks to Yubin Wang * Add `yes` option, remove `--force` of makeapp,makeproject command * Remove `has_options` attribute in Command class * Fix `include` bug in ini * Fix condition test bug of orm.get() * Add `sqlshell` command * Add `having` and `join` support to ORM * Add whole database dump and load support #33 * Add NotFound to __all__ of orm * Fix recorder bug 0.3 Version ----------------- * Fix pyini "key=" for raw output bug * Fix objcache for Lazy field bug, it'll refresh first if found Lazy field * Fix executing orm command raise Exception not be thrown bug * Refact multidb support * Change UserWarn to DeprecationWarning * Fix syncdb for different table name between `Model.__tablename__` and settings bug * Remove `get_cached()` and add `cache` parameter to `Model.get()` * Add `get_local_cache()` and `clear_local_cache()` in order to compatiable with SimpleFrame implementation * ORM `Property.to_str()` will return string but not unicode for CHAR and VARCHAR. * Simplify server_default, if integer given, it'll be convert to `text(n)` * `ManyResult.all()` can receive a `cache` parameter * Improve `dump()` and `load()`, add PickleType , ManyToMany support * Refact objcache app implementation and add `exclude` config option * Remove primary_key detect, because multi primary_key columns can make composite primary key, add partition support for mysql * add None patch process, you can set '', 'empty, 'exception'. * move uliweb/orm/middle*.py to uliweb/contrib/orm * move uliweb/i18n/middle_i18n.py to uliweb/contrib/i18n * move storage from core to utils directory * improve count process * Fix Reference and ManyToMany dump and load bug * Add `is_in_web()` funciton, so you can test if current frame is in web executation * Add `--gevent` support to call command * Add `any` to Model, Result, ManyResult * Add `clear_prefix()` to redis_cli APP, this feature need redis 2.6+ version * Add version check to redis_cli APP, default is disabled * Add `clear_table()` to objcache APP * Add 'id' parameter to `get()` and `get_object()` and `get_cached_object()` functions, so that if the ID can't be found in cache, condition (old parameter) will be used. And when id and condition given both, only when id is not integer or valid expression condition will be used. So in most cases, you don't need pass condition. * If not set url option for session of database type, it'll automatically use ORM settings if exists * Add settings and local_settings env variables support * Fix count bug * Change orm requirement.txt, add uliweb-alembic package * generic app add avalon and mmgrid support * Model.put() not is deprecated, you should use save * `generic.py` add version support when saving, and add `save` callback parameter. 0.2.6 Version ----------------- * Add warning output for Reference class parameter of relation properties definition. * Fix manual and total process bug in ListView and SelectListView * Fix rawsql bug * Add `get_object()` support in Generic ListView * Fix `get_cached()` bug * Fix process_files in generic add and edit functions bug * Add `import readline` before enter shell environment * change occ name to version * Improve autocomplete in shell command * Fix manytomany cached value is not used when do the save, because of not stored in `_old_values` * If you've already define primary key in Model, then it'll not create id property for you, just like: ``` user_id = Field(int, primary_key=True, autoincrement=True) ``` * Fix sqldot bug and improve sqlhtml generation * Eanble colored log output by default. * Add recorder app, you can use it to record the visit url, and test it later 0.2.5 Version ----------------- * Fix config template and add `uwsgi` shell support * Add environment variables support in `settings.ini`. For example, there is a `MYSQL_PORT` defined in environment, so you can defined something in settings.ini: ``` [DEFAULT] port = $MYSQL_PORT port_str = '${MYSQL_PORT}' ``` `$MYSQL_PORT` is the same as `${MYSQL_PORT}`. Just when the variable follows identifier, so `${}` can easily separate between them. * Add `STATIC_COMBINE_CONFIG` configuration, you can toggle static combination with it. Default is False. The configuration is: ``` [STATIC_COMBINE_CONFIG] enabled = False ``` * Fix objcache app bug, if not fields defined in settings, it'll use all columns of table * Add `get_table` function to `functions`, you can use it to get table object. Used in `uliweb.contrib.tables` app. * Add `local_cache` to local in SimpleFrame, and it can be used to store require relative cache values, and it'll be empty after each require process. * Improve `get_object()` function in ORM, add `use_local` parameter, so the cached value will be checked in `local_cache` first, and also save it in local_cache when get a value from cache or database. * Improve objcache config format, you can also define table like this: ``` user = {'fields':['username'], 'expire':expire_time, 'key':callable(instance)|key_field} #or user = ['username', 'nickname'] #or user = ``` If no fields defined, it'll use all fields of Model. And if expire is 0 or not defined, it'll not expired at all. `key` will be used to replace `id`, if you want another key value, and it can be also a callable object, it'll receive an instance of Model parameter, so you can create any key value as you want. * Add Optimistic Concurrency Control support for ORM, so you should defined `version` Field first in Model, then when you save the object, you should use: ``` obj.save(occ=True) ``` If there is already other operation saved the record, it'll raise an `SaveError` Exception by default, because the version has been changed. You can also pass: * `occ_fieldname` used to defined the version fieldname, default is `version` * `occ_exception` used to enabled Exception raised, default is `True`, if you set it `False` it'll return False, but not raise an Exception. 0.2.4 Version ----------------- * Fix ORM is not compatible with SQLAlchemy 0.9.1. * add `__contains__` to functions, so you can test if an API is already defined, just use: ``` 'flash' in functions ``` * Refact generic.py, remove `functions.flash` and `functions.get_fileserving` dependencies by default. * Fix `yield` support in view function, you can also used in gevent environment. * Fix `rawsql()` bug for different database engine * Fix `jsonp()` dumps Chinese characters bug * Add `trim_path()` function to `utils/common.py`, it can trim a file path to limited length, for example: ``` >>> a = '/project/apps/default/settings.ini' >>> trim_path(a, 30) '.../apps/default/settings.ini' ``` Default limited length is 30. * Add ORM connection information output when given `-v` option in command line. And the password will be replace with `'*'`. * Add multiple apps support for `makeapp` command. * Refactor `save_file()` process, add `headers` and `convertors` parameter. * Fix `call_view()` invoke `wrap_result` bug. Missing pass `handler` parameter to wrap_result. module: pkgsrc subject: 'CVS commit: pkgsrc/www/py-uliweb' unixtime: '1406601721' user: wen