File: examples.py

package info (click to toggle)
python-cloudflare 2.20.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,048 kB
  • sloc: python: 6,932; makefile: 138; sh: 76
file content (38 lines) | stat: -rw-r--r-- 1,208 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""Cloudflare API via command line"""

import os
import sys

if sys.version_info < (3, 9):
    # importlib.resources either doesn't exist or lacks the files()
    # function, so use the PyPI version:
    try:
        import importlib_resources
    except ModuleNotFoundError:
        importlib_resources = None
else:
    # importlib.resources has files(), so use that:
    import importlib.resources as importlib_resources

EXAMPLES_PACKAGE_NAME = 'examples'

def display():
    """ display() """

    if not importlib_resources:
        raise ModuleNotFoundError('Module "importlib_resources" missing - please "pip install importlib_resources" as your Python version is lower than 3.9')

    try:
        pkg = importlib_resources.files(EXAMPLES_PACKAGE_NAME)
    except ModuleNotFoundError as e:
        raise e

    for ext,name in {'c': 'C', 'h': 'C', 'cc': 'C++', 'py':'Python', 'sh':'Bash', 'awk':'AWK'}.items():
        files = sorted(pkg.glob('**/*.' + ext))
        if len(files) == 0:
            continue
        print('%s .%s files:' % (name, ext))
        for file in files:
            if '__init__.py' in os.fspath(file):
                continue
            print('\t%s' % (os.fspath(file)))