paramutils#

Parameter utility functions

gtrending.paramutils.SINCE_PARAM = ('daily', 'weekly', 'monthly')#

Tuple of valid arguments for the since parameter

gtrending.paramutils.check_language(language: str) bool#

Check if the language parameter is valid.

Value that is already url-encoded would not be accepted.

Returns false for falsey values.

Examples

>>> check_language('python')
True
>>> check_language('py')
False
>>> check_language('GO')
True
>>> check_language('c%2B%2B')
False
>>> check_language('c++')
True
>>> check_language('')
False
>>> check_language('vim-script')
True
Parameters:

language (str) – The language, eg: python (case-insensitive)

Returns:

True for valid language, False otherwise

Return type:

bool

gtrending.paramutils.check_since(since: str) bool#

Check if the time range value is correct.

Examples

>>> check_since('daily')
True
>>> check_since('DAILY')
True
>>> check_since('yearly')
False
Parameters:

since (str) – The time range

Returns:

True for valid parameter, False otherwise

Return type:

bool

gtrending.paramutils.check_spoken_language(spoken_language: str) bool#

Check if the spoken language code or name exists.

Returns false for falsey values

Examples

>>> check_spoken_language('english')
True
>>> check_spoken_language('en')
True
>>> check_spoken_language('EL')
True
>>> check_spoken_language('python')
False
Parameters:

sl (str) – The spoken language, eg: English, or en for English

Returns:

True for valid spoken language, False otherwise

Return type:

bool

gtrending.paramutils.check_spoken_language_code(code: str) bool#

Check if the spoken language code exists, case-insensitive.

Returns false for falsey values.

Examples

>>> check_spoken_language_code('english')
False
>>> check_spoken_language_code('en')
True
>>> check_spoken_language_code('EL')
True
>>> check_spoken_language_code('py')
False
Parameters:

sl (str) – The spoken language code, eg: en, es

Returns:

True for valid spoken language code, False otherwise.

Return type:

bool

gtrending.paramutils.check_spoken_language_name(spoke_language: str) bool#

Check if the spoken language name exists, case-insensitive.

Returns false for falsey values.

Examples

>>> check_spoken_language_name('english')
True
>>> check_spoken_language_name('en')
False
>>> check_spoken_language_name('Greek')
True
>>> check_spoken_language_name('')
False
Parameters:

sl (str) – The spoken language, eg: English, Spanish

Returns:

True for valid spoken language name, False otherwise

Return type:

bool

gtrending.paramutils.convert_language_name_to_param(language: str) str#

Convert language name to value used as API parameter

Examples

>>> convert_language_name_to_param('Python')
'python'
>>> convert_language_name_to_param('')
''
>>> convert_language_name_to_param('perl 6')
'perl-6'
>>> convert_language_name_to_param('c++')
'c++'
>>> convert_language_name_to_param('C#')
'c#'
Parameters:

language (str) – The language name, eg: “Vim script”

Returns:

The language in parameter format, eg: vim-script

Return type:

str

gtrending.paramutils.convert_spoken_language_name_to_code(sl_name: str) str#

Convert spoken language name to its code.

Returns an empty string for an invalid name.

Examples

>>> convert_spoken_language_name_to_code('Greek')
'el'
>>> convert_spoken_language_name_to_code('French')
'fr'
Parameters:

sl_name (str) – The spoken language name

Returns:

The corresponding spoken_language code

Return type:

str

gtrending.paramutils.languages_dict() dict#

Dictionary of the language param for its name.

Example

{
    ...
    'restructuredtext': 'reStructuredText',
    'rexx': 'REXX',
    'rhtml': 'RHTML',
    'ring': 'Ring',
    'rmarkdown': 'RMarkdown',
    'robotframework': 'RobotFramework',
    'roff': 'Roff',
    'rouge': 'Rouge',
    'rpc': 'RPC',
    'rpm-spec': 'RPM Spec',
    'ruby': 'Ruby',
    'runoff': 'RUNOFF',
    'rust': 'Rust',
    'sage': 'Sage',
    'saltstack': 'SaltStack',
    'sas': 'SAS',
    'sass': 'Sass',
    'scala': 'Scala',
    'scaml': 'Scaml',
    'scheme': 'Scheme',
    'scilab': 'Scilab',
    'scss': 'SCSS',
    'sed': 'sed',
    'self': 'Self',
    'shaderlab': 'ShaderLab',
    'shell': 'Shell',
    ...
}
Returns:

param: name for each language

Return type:

dict

gtrending.paramutils.languages_list() List[dict]#

Fetch programming languages.

Example

[
    {'name': '1C Enterprise', 'param': '1c-enterprise'},
    {'name': 'ABAP', 'param': 'abap'},
    {'name': 'ABNF', 'param': 'abnf'},
    ...
    {'name': 'HTML+ERB', 'param': 'html+erb'},
    {'name': 'HTML+PHP', 'param': 'html+php'},
    {'name': 'HTTP', 'param': 'http'},
    {'name': 'Hy', 'param': 'hy'},
    {'name': 'HyPhy', 'param': 'hyphy'},
    {'name': 'IDL', 'param': 'idl'},
    {'name': 'Idris', 'param': 'idris'},
    {'name': 'IGOR Pro', 'param': 'igor-pro'},
    {'name': 'Inform 7', 'param': 'inform-7'},
    {'name': 'INI', 'param': 'ini'},
    {'name': 'Inno Setup', 'param': 'inno-setup'},
    {'name': 'Io', 'param': 'io'},
    {'name': 'Ioke', 'param': 'ioke'},
    {'name': 'IRC log', 'param': 'irc-log'},
    ...
]
Returns:

A list of dictionaries containing languages, mapping the param

value to its name.

Return type:

list(dict)

gtrending.paramutils.languages_names() list#

List of valid language names.

Example

[..., "HTML", "Makefile", "Lua", "M4", "Mathematica", "Emacs Lisp", ...]
Returns:

List of capitalized names as strings

Return type:

list(str)

gtrending.paramutils.languages_params() List[str]#

List of valid language params.

Example

[..., "html", "makefile", "lua", "m4", "mathematica", "emacs-lisp", ...]
Returns:

List of languages’ params as strings

Return type:

list(str)

gtrending.paramutils.spoken_languages_codes() list#

List of valid spoken language codes

Example

::

[“en”, “es”, “it”, “fr”, …]

Returns:

2-character codes as strings

Return type:

list(str)

gtrending.paramutils.spoken_languages_dict() dict#

Dictionary of the spoken language code for its name

Example

{
    ...
    'nl': ['Dutch', 'Flemish'],
    'nn': ['Norwegian Nynorsk'],
    'no': ['Norwegian'],
    'nr': ['South Ndebele'],
    'nv': ['Navajo', 'Navaho'],
    'ny': ['Chichewa', 'Chewa', 'Nyanja'],
    'oc': ['Occitan'],
    'oj': ['Ojibwa'],
    'om': ['Oromo'],
    'or': ['Oriya'],
    'os': ['Ossetian', 'Ossetic'],
    'pa': ['Punjabi', 'Panjabi'],
    'pi': ['Pali'],
    'pl': ['Polish'],
    'ps': ['Pashto', 'Pushto'],
    'pt': ['Portuguese'],
    'qu': ['Quechua'],
    'rm': ['Romansh'],
    'rn': ['Rundi'],
    'ro': ['Romanian', 'Moldavian', 'Moldovan'],
    'ru': ['Russian'],
    'rw': ['Kinyarwanda'],
    'sa': ['Sanskrit'],
    'sc': ['Sardinian'],
    'sd': ['Sindhi'],
    'se': ['Northern Sami'],
    'sg': ['Sango'],
    'si': ['Sinhala', 'Sinhalese'],
    'sk': ['Slovak'],
    ...
}
Returns:

code: [names, ...] for each spoken language

Return type:

dict

gtrending.paramutils.spoken_languages_list() List[dict]#

Fetch spoken languages.

Example

[
    ...
    {'code': 'bh', 'name': ['Bihari languages']},
    ...
    {'code': 'ca', 'name': ['Catalan', 'Valencian']},
    {'code': 'ch', 'name': ['Chamorro']},
    {'code': 'ce', 'name': ['Chechen']},
    {'code': 'ny', 'name': ['Chichewa', 'Chewa', 'Nyanja']},
    {'code': 'zh', 'name': ['Chinese']},
    ...
    {'code': 'cs', 'name': ['Czech']},
    {'code': 'da', 'name': ['Danish']},
    {'code': 'dv', 'name': ['Divehi', 'Dhivehi', 'Maldivian']},
    {'code': 'nl', 'name': ['Dutch', 'Flemish']},
    {'code': 'dz', 'name': ['Dzongkha']},
    {'code': 'en', 'name': ['English']},
    {'code': 'eo', 'name': ['Esperanto']},
    {'code': 'et', 'name': ['Estonian']},
    ...
    {'code': 'de', 'name': ['German']},
    {'code': 'el', 'name': ['Greek', 'Modern']},
    ...
]
Returns:

A list dictionaries of spoken languages, mapping the code to the

name.

Return type:

list(dict)

gtrending.paramutils.spoken_languages_names() List[str]#

List of valid spoken language names

Example

::

[“English”, “Spanish”, “Italian”, “French”, …]

Returns:

Capitalized spoken language names as strings

Return type:

list(str)