diff --git a/resources/lib/twitch/api/parameters.py b/resources/lib/twitch/api/parameters.py index 690fd45..2982058 100644 --- a/resources/lib/twitch/api/parameters.py +++ b/resources/lib/twitch/api/parameters.py @@ -84,8 +84,38 @@ def validate(cls, value): class Language(_Parameter): ALL = 'all' - # add twitch supported language codes - _valid = [ALL] + EN = 'en' + DA = 'da' + DE = 'de' + ES = 'es' + FR = 'fr' + IT = 'it' + HU = 'hu' + NL = 'nl' + NO = 'no' + PL = 'pl' + OTHER = 'other' + ASL = 'asl' + KO = 'ko' + JA = 'ja' + ZH = 'zh' + TH = 'th' + AR = 'ar' + RU = 'ru' + BG = 'bg' + EL = 'el' + CS = 'cs' + TR = 'tr' + VI = 'vi' + SV = 'sv' + FI = 'fi' + SK = 'sk' + PT = 'pt' + + _valid = [ALL, EN, DA, DE, ES, FR, IT, HU, NL, + NO, PL, OTHER, ASL, KO, JA, ZH, TH, + AR, RU, BG, EL, CS, TR, VI, SV, FI, + SK, PT] @classmethod def validate(cls, value): diff --git a/resources/lib/twitch/api/v5/games.py b/resources/lib/twitch/api/v5/games.py index d2aa7d0..564bc46 100644 --- a/resources/lib/twitch/api/v5/games.py +++ b/resources/lib/twitch/api/v5/games.py @@ -1,8 +1,9 @@ # -*- encoding: utf-8 -*- # https://dev.twitch.tv/docs/v5/reference/games/ -from twitch import keys +from twitch import keys, methods from twitch.queries import V5Query as Qry +from twitch.queries import HiddenApiQuery as HQry from twitch.queries import query @@ -13,3 +14,42 @@ def get_top(limit=10, offset=0): q.add_param(keys.LIMIT, limit, 10) q.add_param(keys.OFFSET, offset, 0) return q + + +# required scope: none +# undocumented / unsupported +@query +def check_follows(username, name): + q = HQry('users/{username}/follows/games/isFollowing') + q.add_urlkw(keys.USERNAME, username) + q.add_param(keys.NAME, name) + return q + + +# required scope: none +# undocumented / unsupported +@query +def get_followed(username): + q = HQry('users/{username}/follows/games') + q.add_urlkw(keys.USERNAME, username) + return q + + +# required scope: user_follows_edit +# undocumented / unsupported +@query +def follow(username, name): + q = HQry('users/{username}/follows/games/follow', method=methods.PUT) + q.add_urlkw(keys.USERNAME, username) + q.add_data(keys.NAME, name) + return q + + +# required scope: user_follows_edit +# undocumented / unsupported +@query +def unfollow(username, name): + q = HQry('users/{username}/follows/games/unfollow', method=methods.DELETE) + q.add_urlkw(keys.USERNAME, username) + q.add_data(keys.NAME, name) + return q diff --git a/resources/lib/twitch/keys.py b/resources/lib/twitch/keys.py index ffe2b15..fb1bfad 100644 --- a/resources/lib/twitch/keys.py +++ b/resources/lib/twitch/keys.py @@ -68,6 +68,7 @@ TOKEN = 'token' TYPE = 'type' USER = 'user' +USERNAME = 'username' USER_AGENT = 'User-Agent' USER_AGENT_STRING = ('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) ' 'Gecko/20100101 Firefox/6.0')