Friedrich Lindenberg
ec9a2c56d1
Merge commit '2566581442eff9b17ee439296e7c4e9c232cee26'
2014-01-05 16:01:32 +01:00
Abhinav Upadhyay
508e025689
Fix insert for tables that do not have any primary key.
...
The insert method returns the value of the primary key for the inserted
row. But for tables that do not have any primary key, it raises an
IndexError, which is clearly wrong. At best it should return None in
such cases and avoid raising any exception.
2014-01-04 11:53:15 +05:30
Gregor Aisch
2566581442
using OrderedDict to preserve key order
2013-12-20 00:01:26 +01:00
Stefan Wehrmeyer
2870fdfb0b
Fix a couple of more iterator changes
2013-12-18 11:32:58 +01:00
Stefan Wehrmeyer
426095634c
Replace unicode with str, duck type encode
2013-12-18 11:31:41 +01:00
Stefan Wehrmeyer
74b900f1f6
Move from sqlalchemy-migrate to alembic
...
This affects how columns are added and dropped from
tables. MetaData and SQLATable objects have to be
recreated to make sync changed columns.
2013-12-18 04:08:24 +01:00
Stefan Wehrmeyer
5d3e8b90bf
Turn ResultIter class into Python 3 iterator
2013-12-18 04:08:23 +01:00
Stefan Wehrmeyer
23e484cbed
Handle Python 3 keys/values iterators
2013-12-18 04:08:23 +01:00
Stefan Wehrmeyer
88c0c1a15f
Remove basestring, unicode from code base
2013-12-18 04:08:21 +01:00
Stefan Wehrmeyer
b3520665d7
Replace old except syntax with new one
...
Drops Python 2.5 support
2013-12-18 03:22:49 +01:00
Stefan Wehrmeyer
ad72ca5c4c
Use new urllib.parse imports with fallbacks
2013-12-18 03:22:22 +01:00
3onyc
a75c1968b4
Only apply fix when the current engine has an SQLite dialect
2013-12-10 14:06:06 +01:00
Chen
4a86981026
chang "Text" to "String" in create_table() function, fix issue #51
2013-12-06 23:58:54 -05:00
Friedrich Lindenberg
d393523764
use row.copy() not copy.copy(row)
2013-12-05 13:11:04 +01:00
Chen
36b27c354b
add drop_column function
2013-12-04 14:44:01 -05:00
Friedrich Lindenberg
a174225de3
Change code to use copy().
2013-12-04 17:55:42 +01:00
Friedrich Lindenberg
ff247f17cc
Create a new dict before updating data. Fixes #53
2013-12-04 11:09:22 +01:00
3onyc
07c290f691
Implement SQLite datetime fix
2013-11-21 08:48:38 +01:00
Friedrich Lindenberg
b7bbde45fa
Fix tests; pass url query args to create_engine. Fixes #40
2013-11-15 23:23:03 +02:00
Friedrich Lindenberg
65198dc74a
Use Python-slugify to generate Freezefile slugs.
...
This lets me remove a lot of unneeded code from the utils, and the
dependency improves the quality a lot.
2013-11-15 22:50:17 +02:00
Friedrich Lindenberg
ea582d3fce
Merge pull request #39 from diegoguimaraes/master
...
Fixing bug
2013-11-15 12:43:56 -08:00
Diego Guimarães
bc16b9e325
Fixing bug
...
Fixing bug where the insert method always returns 0,
even after a successfully insetion, rather than the id
of the inserted element.
2013-11-14 22:24:44 -02:00
George "elb0w" Tsafas
7675198640
Some refactors I noticed when reading through the code
...
Pretty nicely written, I didnt actually test these. But I think they are sane. Nice project, im going to use it later.
2013-11-13 09:57:25 -05:00
3onyc
95ca93cff0
Use string comparison in create_table (Fixes issue #33 )
2013-11-13 10:05:46 +01:00
Friedrich Lindenberg
dc144a27b0
have find_one return a dict, not a tuple
2013-11-04 17:29:20 +01:00
Friedrich Lindenberg
70eece9e77
Support transforms, fixes #28
2013-09-19 19:25:28 +02:00
Friedrich Lindenberg
a3613ef133
fixes #29 : logger for command line app
2013-09-19 18:32:55 +02:00
Yi Xie
257d767b6d
add options to create custom primary id and type with shorthand format
2013-09-15 14:12:30 -04:00
Yi Xie
95cc5dd411
simplify creat_table interface
2013-09-13 09:42:35 -04:00
Yi Xie
bfd75360be
create table with custom primary_id
2013-09-08 11:35:43 -04:00
Jonathan Eunice
93c05eb542
Added convenience check to `freeze()`. If a whole table is passed
...
as a result set, rather than a result set, calls ``result.all()``
to automagically "do the right thing."
2013-08-20 13:55:42 -04:00
Friedrich Lindenberg
e488664efe
Support generation of static JSONP.
2013-08-19 22:45:05 +02:00
Friedrich Lindenberg
ef45f8dd95
Allow query parameters on database.query().
2013-08-18 18:09:07 +02:00
Brian Abelson
1f77509017
update table.update to perform the same as upsert
2013-08-11 10:40:27 -04:00
Brian Abelson
904e464dfa
allow keys arg for upsert to be a string
...
I want to be able to use `upsert` without formatting the keys arg as a list, ie:
```
table.upsert(new_data, "id")
```
2013-08-10 21:34:00 -04:00
Paul Furley
69815e65fc
Moved logging.basicConfig() so using dataset as a library doesn't interfere with the global logger
2013-08-06 13:48:55 +01:00
Friedrich Lindenberg
39edde3a2c
Support postgres schemata, bump version
2013-07-25 10:18:20 +02:00
gka
1dbf8ddc70
application should be able to overwrite environment setting
2013-07-15 10:38:19 +02:00
mattack108
cf8f3dc4d2
Allow to use url defined as env variable.
2013-07-14 21:50:52 +01:00
Friedrich Lindenberg
f520193a9e
Merge pull request #17 from scraperdragon/upsert_all_key
...
Permit upsert with all columns as keys
2013-06-27 09:39:13 -07:00
David McKee
6533fd16e9
upsert with all keys
2013-06-27 12:12:33 +00:00
scraperdragon
79acee2371
Describe what happens when find_one has nothing to return.
2013-06-27 11:47:04 +01:00
Friedrich Lindenberg
e10dc36219
Try to avoid some locking issues.
2013-06-14 10:33:57 +02:00
Friedrich Lindenberg
10dfcad00b
Merge branch 'refs/heads/feature/transactions'
2013-06-13 11:57:23 +02:00
Brett Beaudoin
fffa633e84
Added support for "IN" operator of a WHERE clause.
...
The table update only allowed for "==" operator as in:
UPDATE mytable SET foo = 'bar' WHERE id = 123;
Now allows for "IN" operator as in:
UPDATE mytable SET foo = 'bar' WHERE id IN (123, 876);
This required changes to the "_args_to_clause" and "update" functions.
2013-06-06 17:23:52 -06:00
Gregor Aisch
4f3f574d58
made reflect metadata a flag ( fixes #9 )
2013-05-24 23:50:28 +02:00
Friedrich Lindenberg
1a25fbcd77
Allow user to override freezefile.
2013-05-21 16:17:36 +02:00
Friedrich Lindenberg
db71b6d631
Re-write locking to support transactions.
2013-05-13 21:21:25 +02:00
Friedrich Lindenberg
33908b2699
Use engine for DDL
2013-05-13 20:14:57 +02:00
Friedrich Lindenberg
b5181a4105
Testing with transactions support.
2013-05-10 22:58:23 +02:00
Gregor Aisch
bbfdb2e64b
renamed filter args to _filter to avoid confusion with built in filter()
2013-04-30 16:38:01 +02:00
Gregor Aisch
cfe4a0bef6
ensuring that table.all() works without id column ( fixes #8 )
2013-04-30 00:18:06 +02:00
Friedrich Lindenberg
310b9abd81
Add import of exception; fixes #5
2013-04-26 10:46:43 +02:00
Gregor Aisch
3ad013b1d1
find is now streaming large tables
2013-04-12 16:42:22 +02:00
Gregor Aisch
187ed2680f
ResultIter can now deal with generators of resultproxies
2013-04-12 16:41:17 +02:00
Gregor Aisch
47e7eb5193
improved documentation of freeze
2013-04-09 01:10:16 +02:00
Gregor Aisch
96656d3f80
changed API of dataset.freeze()
...
dataset.freeze() is now expecting a result iterable instead of database
and query.
2013-04-09 00:26:59 +02:00
Gregor Aisch
176f605119
moved str to Database conversion to freeze_export
2013-04-09 00:20:54 +02:00
Gregor Aisch
bb94b1b343
freeze() now accepts either db-urls or db instances
2013-04-09 00:16:09 +02:00
Gregor Aisch
fb18961e32
class Export expects 'common' dict as first parameter
2013-04-09 00:15:10 +02:00
Gregor Aisch
48fa1cbb27
pep8 autoformat
2013-04-09 00:14:12 +02:00
Gregor Aisch
875e0508f2
insert returns last_id ( closes #4 )
2013-04-06 03:06:51 +02:00
Gregor Aisch
d58ec61b90
fixed bug in deletion of all rows
2013-04-05 11:54:12 +02:00
Gregor Aisch
9de0ad3e82
updated api docs
2013-04-05 00:49:13 +02:00
Gregor Aisch
ee844732b2
fixed table dropping
2013-04-05 00:47:28 +02:00
Gregor Aisch
fe3e5f5df5
checking if a table has been dropped
2013-04-05 00:31:21 +02:00
Friedrich Lindenberg
5cfa9abfb0
Adapt data freeze code base to integrate with dataset.persistence
2013-04-04 23:53:37 +02:00
Friedrich Lindenberg
c2d606bc6f
Import datafreeze source code.
2013-04-04 23:05:19 +02:00
Gregor Aisch
4d9ecb2532
replaced with more meaningful example
2013-04-04 20:08:39 +02:00
Gregor Aisch
3bf3b1dac1
fixed insert() example
2013-04-04 20:05:27 +02:00
Gregor Aisch
da2be5bc62
made chunk_size customizable
2013-04-04 19:44:28 +02:00
Gregor Aisch
ec0d2d61f7
added insert_many
2013-04-04 15:43:05 +02:00
Friedrich Lindenberg
f3533de1a7
merge.
2013-04-03 22:27:06 +02:00
Gregor Aisch
b39e4b193a
fine-tuning the documentation
2013-04-03 12:46:10 +02:00
Gregor Aisch
258e3f3059
Allowing for direct iteration over rows in a table
2013-04-03 12:28:32 +02:00
Gregor Aisch
7638e898fd
added code example
2013-04-03 12:28:11 +02:00
Gregor Aisch
c284d05bd6
docs!
2013-04-03 01:48:26 +02:00
Gregor Aisch
4e78c96370
KeyError wasn't evaluated
2013-04-03 00:56:07 +02:00
Gregor Aisch
e0b66510ab
removed sphinx warnings
2013-04-03 00:51:33 +02:00
Gregor Aisch
b5a759087a
docs!
2013-04-02 23:45:44 +02:00
Gregor Aisch
f8e6d53bb5
docs!
2013-04-02 13:44:14 +02:00
Gregor Aisch
4d503f42e3
allow sorting by multiple columns and descending order
2013-04-02 13:17:30 +02:00
Gregor Aisch
58c1773777
documentation!
2013-04-02 11:10:29 +02:00
Friedrich Lindenberg
82153522cb
Document delete() and all()
2013-04-02 00:20:02 +02:00
Friedrich Lindenberg
963aefe9da
merge
2013-04-02 00:14:10 +02:00
Friedrich Lindenberg
e58ffdafde
Some additional doc.
2013-04-02 00:10:07 +02:00
Gregor Aisch
a7c07fe944
removed recursion
2013-04-01 22:47:58 +02:00
Gregor Aisch
59b49b597d
seld --> self, pep8
2013-04-01 22:43:57 +02:00
Gregor Aisch
866df01a13
simpler code block syntax
2013-04-01 22:41:33 +02:00
Gregor Aisch
077b3f520f
doc
2013-04-01 22:41:06 +02:00
Friedrich Lindenberg
26b40c8055
More verbose comments in database.
2013-04-01 22:39:18 +02:00
Friedrich Lindenberg
6ee58e850d
Add tables property to database.
2013-04-01 22:09:16 +02:00
Friedrich Lindenberg
0f81dbe52c
More unit tests for table.
2013-04-01 22:03:01 +02:00
Gregor Aisch
57afc346c6
added documentation
2013-04-01 21:32:37 +02:00
Gregor Aisch
b76f11c94c
added documentation
2013-04-01 21:32:26 +02:00
Friedrich Lindenberg
7c5779da80
More tests on table
2013-04-01 19:56:14 +02:00
Friedrich Lindenberg
8a97902762
Build up test cases a bit
2013-04-01 19:46:17 +02:00
Friedrich Lindenberg
2c17baa6a3
Begin porting tests.
2013-04-01 19:38:02 +02:00
Friedrich Lindenberg
b723b7da7c
Refactor to simplify
2013-04-01 19:28:22 +02:00
Friedrich Lindenberg
d3fe91bc73
Moved everything into the OO api, not really tested …
2013-04-01 19:06:14 +02:00
Friedrich Lindenberg
30867fad21
Refactor more stuff up to an object.
2013-04-01 18:05:41 +02:00
Friedrich Lindenberg
14e68f26ab
Begin moving things into the objects.
2013-04-01 17:30:52 +02:00
Friedrich Lindenberg
6d15886989
Final part of refactor.
2013-04-01 17:29:58 +02:00
Friedrich Lindenberg
f216a6066e
Make "persistence" a module.
2013-04-01 17:29:45 +02:00
Friedrich Lindenberg
22255c3894
Continue to refactor the import for "dataset"
2013-04-01 17:29:30 +02:00
Friedrich Lindenberg
ef535a4855
Refactor imports.
2013-04-01 17:28:29 +02:00
Friedrich Lindenberg
b24e9ae50e
Rename db file as well.
2013-04-01 17:04:33 +02:00
Friedrich Lindenberg
4bcf52c182
Merge branch 'refs/heads/master' into HEAD
2013-04-01 17:02:10 +02:00
Friedrich Lindenberg
1d3102e5bc
Rename to dataset.
2013-04-01 16:58:57 +02:00