示例#1
0
 def __call__(self, parser, namespace, os_override, option_string=None):
     from functools import reduce
     from diffoscope import tool_required, RequiredToolNotFound, OS_NAMES, get_current_os
     print("External tools required:")
     print(', '.join(sorted(tool_required.all)))
     if os_override:
         if os_override in OS_NAMES.keys():
             os_list = [os_override]
         else:
             print()
             print("No package mapping found for: {} (possible values: {})".
                   format(os_override, ", ".join(sorted(OS_NAMES.keys()))))
             sys.exit(1)
     else:
         current_os = get_current_os()
         if current_os in OS_NAMES.keys():
             os_list = [current_os]
         else:
             os_list = OS_NAMES.keys()
     for os in os_list:
         print()
         print("Available in {} packages:".format(OS_NAMES[os] if os in
                                                  OS_NAMES else os))
         print(', '.join(
             sorted(
                 filter(
                     None, {
                         RequiredToolNotFound.PROVIDERS.get(k, {}).get(
                             os, None)
                         for k in tool_required.all
                     }))))
     sys.exit(0)
示例#2
0
 def __call__(self, parser, namespace, values, option_string=None):
     from diffoscope import tool_required, RequiredToolNotFound, get_current_os
     os = get_current_os() if not values else values
     print("External tools required:")
     print(', '.join(sorted(tool_required.all)))
     print()
     print("Available in {} packages:".format(RequiredToolNotFound.OS_ALIAS[os] if os in RequiredToolNotFound.OS_ALIAS else os))
     print(', '.join(sorted(filter(None, { RequiredToolNotFound.PROVIDERS[k].get(os, None) for k in tool_required.all }))))
     sys.exit(0)
示例#3
0
 def __call__(self, parser, namespace, os_override, option_string=None):
     from functools import reduce
     from diffoscope import tool_required, RequiredToolNotFound, OS_NAMES, get_current_os
     print("External tools required:")
     print(', '.join(sorted(tool_required.all)))
     if os_override:
         if os_override in OS_NAMES.keys():
             os_list = [os_override]
         else:
             print()
             print("No package mapping found for: {} (possible values: {})".format(os_override, ", ".join(sorted(OS_NAMES.keys()))))
             sys.exit(1)
     else:
         current_os = get_current_os()
         if current_os in OS_NAMES.keys():
             os_list = [current_os]
         else:
             os_list = OS_NAMES.keys()
     for os in os_list:
         print()
         print("Available in {} packages:".format(OS_NAMES[os] if os in OS_NAMES else os))
         print(', '.join(sorted(filter(None, { RequiredToolNotFound.PROVIDERS.get(k, {}).get(os, None) for k in tool_required.all }))))
     sys.exit(0)