Commit Graph

40 Commits

Author SHA1 Message Date
Domenico Iezzi
6f5565bdef
Some improvements to code
- Remove unstable userProfile API
- Changed names for some variables
- Disabled print calls. Loggin is now entirely up to the user.
- Implemented device config token, retrieved after the `uploadDevice`
procedure
- Updated headers from play-store-api project
- Fixed initialization for obb_download_test.py
2018-02-03 14:30:21 +01:00
Domenico Iezzi
3d1f4fe56d
Removed unstable userProfile from test 2018-02-01 12:15:32 +01:00
Domenico Iezzi
d984a92dc7
Added log function
This function is needed by the purchase API to insert app into user's
library. Without this, new apps won't be downloaded
2018-02-01 11:53:16 +01:00
Domenico Iezzi
7f0fad78ef
Added functions to change locale
Locale and Timezone can be changed even during a session, and results
will change accordingly
2018-01-27 19:42:36 +01:00
Domenico Iezzi
0a13755ff9
_delivery_data returns more information 2018-01-27 18:39:40 +01:00
Domenico Iezzi
23937e6cb8
Improved file delivery + minor changes
* Updated user agent string with data taken from play-store-api
* *download* and *delivery* functions will now return a python generator
rather than raw bytes, to prevent app loading entire files in memory.
This generator can be iterated to get chunk of bytes to write, as
discussed in issue #35.
* as a consequence of the previous point, there is no more progress bar
feature for downloading. It should be implemented by developers using
the API.
2018-01-26 18:24:19 +01:00
Domenico Iezzi
149707caab
Updated test.py with timezone 2018-01-25 11:41:07 +01:00
Domenico Iezzi
24a3e1a09b
Changed Locale and TimeZone initialization
Before, if locale wasn't specified as a parameter, it was picked from
the system running gpapi. Similar thing happened for timezone, but its
value was hardcoded in config.py.
To avoid problems related to missing or unavailable apps, this commit
enforces users to provide a locale and a timezone value. Without them,
gpapi can't be initialized.
2018-01-25 11:36:25 +01:00
Domenico Iezzi
df4300c7df
Added userProfile case to test.py 2017-12-09 11:39:10 +01:00
Domenico Iezzi
e9e866da97
Try to avoid python2 travis build error 2017-12-09 11:01:03 +01:00
Domenico Iezzi
693ae8348f
Take latest apk if not version specified
If no *versionCode* parameter is specified to *download* or *delivery*
methods, fetch the latest one with a simple `self.details(pkgName)`
2017-11-09 12:25:39 +01:00
Domenico Iezzi
25bfb4aaec
bulkDetails: handle case when app doesn't exist
Now the function returns None if an app doesnt't exists. This does not
apply for details() function, which instead return a RequestError if the
app doesn't exist.
2017-11-02 17:34:49 +01:00
Domenico Iezzi
3733ca8d2c Trying to address python2 build error
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-18 00:18:29 +02:00
Domenico Iezzi
a77b362397 Remove email and password from test files
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-17 17:58:24 +02:00
Domenico Iezzi
b3f28cb0c4 Download optional expansion files (obb files)
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-17 11:41:39 +02:00
Domenico Iezzi
b6e3474a79 test.py: download telegram rather than termux
since telegram is supported by far more devices than termux

Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 18:18:22 +02:00
Domenico Iezzi
0cda029a52 improved review() response + added in test.py
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-08 21:25:04 +02:00
Domenico Iezzi
052afcbb0b details() now return a dict, rather than pb object
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-08 19:50:29 +02:00
Domenico Iezzi
cb2dc79344 test.py: fixed wrong method + added progressbar
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-07 19:22:55 +02:00
Domenico Iezzi
ed0c926dc5 Fix #8
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-07 18:21:05 +02:00
Domenico Iezzi
cfc2de89ce Fixed browse() and list() functions + update test
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-06 11:53:53 +02:00
Domenico Iezzi
cf05125cb8 Added .gitignore
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-06 09:39:28 +02:00
Domenico Iezzi
63c011a521 Try to fix travis build pt.4
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-05 22:24:04 +02:00
Domenico Iezzi
4d51d607ce Try to fix travis build pt.3
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-05 22:17:19 +02:00
Domenico Iezzi
fdb0d7e999 Try to fix travis build pt.2
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-05 22:08:45 +02:00
Domenico Iezzi
9531501983 Try to fix travis build error
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-05 22:04:29 +02:00
Domenico Iezzi
a79c1556ab Fixed and improved browse() function
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-05 21:51:43 +02:00
Domenico Iezzi
73081ee57a Fix #7
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-05 20:39:24 +02:00
Domenico Iezzi
2276f8db2c Changed login() behaviour
Previously, the ac2dm was meant to be saved in the application state, and later used for
subsequent logins, along with the gsfId. This is not correct, because the app needs it
only for the first login, and then remains unused in the application state.

The correct behaviour is to save the gsfId and the authSubToken, and provide only these two
values for subsequent logins

Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-04 11:32:56 +02:00
Domenico Iezzi
1739425d35 Added setup.py + changes to the lib structure
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-21 11:19:48 +02:00
Domenico Iezzi
7a95e552e7 Fix test build with a dummy account
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-19 17:52:29 +02:00
Domenico Iezzi
1cd3b7598b Added exception handling in test file
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-18 16:06:57 +02:00
Domenico Iezzi
171faefc60 Updated test script
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-18 15:52:49 +02:00
Domenico Iezzi
e987322629 Small fixes and cleanup
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-17 12:29:42 +02:00
Domenico Iezzi
2a8ec84fc7 A more detailed test.py
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-16 19:13:01 +02:00
Domenico Iezzi
361a5777e4 Implemented new Download API
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-16 14:57:21 +02:00
Domenico Iezzi
2f68991ad1 New search implementation (protbuf + code)
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-16 13:17:21 +02:00
Domenico Iezzi
b2e71522ae Small typo
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-15 22:13:07 +02:00
Domenico Iezzi
31d96764b6 Implemented ac2dm login
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-15 22:11:44 +02:00
Domenico Iezzi
e32c22a467 Fixed import statements + testbench
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-09-05 22:28:06 +02:00