Commit Graph

123 Commits

Author SHA1 Message Date
Domenico Iezzi
6e8a02527b
Merge pull request #26 from RankoR/master
Added proxy config for requests
2017-12-08 12:54:07 +01:00
Artem Smirnov
d422074ea8 Added proxy config for requests 2017-12-07 05:02:59 +03:00
Domenico Iezzi
c7a3f8fc2d
Added userProfile api to Documentation 2017-11-27 16:46:05 +01:00
Domenico Iezzi
0fc9cb9fef
Removed debug feature 2017-11-15 15:48:55 +01:00
Domenico Iezzi
f7163f5615
Prepare for v0.3.1 2017-11-14 11:55:15 +01:00
Domenico Iezzi
12109621a6
Tightened locale checks
Consider the case when locale is manually initalized with a non-string
value, and the case when python's getdefaultlocale() returns None
2017-11-14 11:22:19 +01:00
Domenico Iezzi
1cece7d3ff
Prepare for v0.3 2017-11-13 11:50:51 +01:00
Domenico Iezzi
c61819d00b
Fix #22
Now gpapi checks if the locale retrieved from system or provided by the
user is valid. In case it's invalid, default to en_US.
2017-11-13 11:44:15 +01:00
Domenico Iezzi
ac2d07a8c9
Some code optimizations
Changed nested for loops with list comprehensions and maps. Also some
small fixes to indentation
2017-11-11 21:59:14 +01:00
Domenico Iezzi
6a9f29c6ce
Device info setup moved inside __init__
Since most of the device data is used only for the checkin procedure,
which is run only after the first login with email and passwd, it
is useless to have functions in GooglePlayAPI to modify them at runtime.

Now if the user wants to specify custom data, this data should be
provided as arguments to the constructor.
2017-11-10 22:25:33 +01:00
Domenico Iezzi
e6c69a5552
Updated default values for bacon 2017-11-10 22:12:34 +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
639c7f9e98
Python code linting and cleanup 2017-11-07 14:02:23 +01:00
Domenico Iezzi
e37daed28b
Update README.md 2017-11-06 18:20:03 +01:00
Domenico Iezzi
512dc4000f
Removed debug string 2017-11-05 15:56:53 +01:00
Domenico Iezzi
6a3926fcd6
search: fixed wrong doc check 2017-11-05 15:43:23 +01:00
Domenico Iezzi
11128cde27
search: manage case when no result is found 2017-11-05 12:58:38 +01:00
Domenico Iezzi
3b0ff57c38
Prepare for v0.2.7 2017-11-03 11:58:36 +01:00
Domenico Iezzi
df2fa823fd
Fix #18
As described in play-store-api code [1] recenlty google introduced a Time
To Live to each auth token, which caused them to expire in a matter of
seconds. Moreover, in order to retrieve a long-ttl token, a second auth
request now is needed, sending the Master Token returned from the first
request. This 'second round' request will return the actual authSubToken.

Another addition is that the code now return response's text for some
generic errors, in order to help debugging those problems.
2017-11-03 11:35:50 +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
7678402f10
Prepare for v0.2.6 2017-11-01 11:53:50 +01:00
Domenico Iezzi
866c633b1c
Integrity check before returning lists
In order to catch invalid tokens, an additional integrity check is done
before returning lists in details() and bulkDetails() functions. If the
check doesn't pass, raise a LoginError.
2017-11-01 11:23:24 +01:00
Domenico Iezzi
e1acc14424
Dinamically change locale and timezone
During DeviceBuilder initialization, retrieve locale from system using
python `locale` module, and set timezone to `Europe/Berlin`. Added some
helpers to get and set those values at runtime.
2017-10-30 17:30:10 +01:00
Domenico Iezzi
0227cb1cf2 Prepare for v0.2.5
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-22 18:30:52 +02:00
Domenico Iezzi
0a7cca7be7
Throw right kind of error when token expired 2017-10-22 17:25:58 +02:00
Domenico Iezzi
5034244620 Build request params with current device data
Login and Auth parameters are built using device selected in
deviceBuilder object. Also got rid of an unused parameter client_sig.
2017-10-19 17:51:03 +02:00
Domenico Iezzi
dd2d7b64d1 Added timeout to requests
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-19 13:14:27 +02:00
Domenico Iezzi
0793b1f995 Prepare for v0.2.4
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-18 11:33:48 +02: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
14dc73c69f Added env vars in travis-ci script
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-17 18:21:33 +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
6857b15d45 Bool flag to control expansion files + cleanup
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-17 17:57:31 +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
f8702e09ee Prepare for v0.2.3
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 19:14:15 +02:00
Domenico Iezzi
9d0d14450b Fix #16
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 19:12:06 +02:00
Domenico Iezzi
2ab7ce09c6 Added bacon (OnePlus 1) as default device
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 18:20:09 +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
ed2d658f61 Updated UserAgent string with latest gp version
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 18:17:32 +02:00
Domenico Iezzi
5d92b6d0d8 Disabled non-working devices
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 18:16:54 +02:00
Domenico Iezzi
d4fb3eba91 Fix #10, raise excpetion rather than sys.exit()
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 17:00:10 +02:00
Domenico Iezzi
afe654111e Implemented #10
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-13 11:20:40 +02:00
Domenico Iezzi
cfbdd085cd Prepare for v0.2.2
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-12 19:48:24 +02:00
Domenico Iezzi
5bbdd195a1 Moved header string preparation to config.py
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-12 19:46:20 +02:00
Domenico Iezzi
e1cc147db4 Change pycrytpo dependecy with pycryptodome
Since pycrypto is a dead project, it's better to use an up-to-date
fork with the same API.

Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-12 19:31:22 +02:00
Domenico Iezzi
a9a3b51450 Prepare for v0.2.1
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-11 09:14:21 +02:00
Domenico Iezzi
11de82f91a Added static method for getDeviceReadableNames
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-10 19:23:58 +02:00
Domenico Iezzi
2a5be42203 Helper function to retrieve devices real names
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-10 19:18:20 +02:00
Domenico Iezzi
b8412dd68a review() function returns all fields
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-10 18:55:03 +02:00
Domenico Iezzi
3b37b18542 Code style improvements, checked using flake8
Signed-off-by: Domenico Iezzi <domenico.iezzi.201@gmail.com>
2017-10-10 18:35:40 +02:00
Domenico Iezzi
313d6075e0 Merge pull request #15 from matlink/master
Add ability to fake devices
2017-10-10 09:33:08 +02:00