123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/usr/bin/env python
- # encoding: utf-8
- from Naked.toolshed.system import exit_success
- class Classifier:
- def __init__(self, search_string):
- self.needle = search_string
- self.url = 'https://pypi.python.org/pypi?%3Aaction=list_classifiers'
- def run(self):
- from Naked.toolshed.network import HTTP
- http = HTTP(self.url) # use the python.org url for the classifier list
- print('•naked• Pulling the classifier list from python.org...')
- res = http.get() # get the list
- test_list = res.split('\n') # split on newlines
- if self.needle == "": # user did not enter a search string, print the entire list
- print("•naked• You did not provide a search string. Here is the entire list:")
- print(' ')
- for item in test_list:
- print(item)
- else: # user entered a search string, find it
- lower_needle = self.needle.lower()
- print("•naked• Performing a case insensitive search for '" + self.needle + "'")
- print(' ')
- filtered_list = [ x for x in test_list if lower_needle in x.lower() ] #case insensitive match for the search string
- for item in filtered_list:
- print(item)
- exit_success() # exit with zero status code
- def help():
- help_string = """
- Naked classify Command Help
- ===========================
- The classify command performs a case-insensitive search of the PyPI application classifier list and displays the results.
- USAGE
- naked classify [search string]
- The search string argument is optional. If you do not include a search string, the entire classifier list is displayed.
- SECONDARY COMMANDS
- none
- OPTIONS
- none
- EXAMPLES
- naked classify
- naked classify Internet
- """
- print(help_string)
- exit_success()
- if __name__ == '__main__':
- pass
|