#!/usr/bin/env python
# coding: utf-8

print("Esto esta deprecado usar xgd-mime")
exit(0)
"""
Modificar asociaciones de aplicaciones de los tipos mime conocidos
"""
from optparse import OptionParser
import os
import configparser
import argparse

class MiConfig(configparser.ConfigParser):
  """ Sobreescribo write() para evitar los espacios entre opcion=valor """
  def write(self, fp):
    if self._defaults:
      fp.write("[%s]\n" % DEFAULTSECT)
      for (key, value) in self._defaults.items():
        fp.write("%s=%s\n" % (key, str(value).replace('\n', '\n\t')))
      fp.write("\n")
    for section in self._sections:
      fp.write("[%s]\n" % section)
      for (key, value) in self._sections[section].items():
        if key != "__name__":
          fp.write("%s=%s\n" %
                   (key, str(value).replace('\n', '\n\t')))
      fp.write("\n")


desc = 'Modifica las aplicaciones por defecto de los tipo mime a '
desc += 'nivel sistema. Ejemplos: agregar una asociacion: %prog '
desc += 'application/pdf evince.desktop . Eliminar: %prog '
desc += '-d image/png'
uso = '%prog [-d] tipo_mime [.desktop]'
parser = argparse.ArgumentParser(usage=uso, description=desc)
parser.add_option("-d","--delete",dest='mime',help="Elimina la asociacion del actual tipo mime")
(options, args) = parser.parse_args()

"""
seccion default
"""
s = 'Default Applications'

files = ['/usr/share/applications/defaults.list','/usr/share/mate/applications/defaults.list']

for f in files:
    print ("Procesando:" + f)
    cfg = MiConfig()
    cfg.optionxform = str
    cfg.read(f)
    if not cfg.has_section(s):
      cfg.add_section(s)

    if options.mime != None and len(args) == 0:
      if cfg.has_option(s, options.mime):
        cfg.remove_option(s, options.mime)
      else:
        print ("Aviso: " + options.mime + " no estaba en el archivo defaults.list")
    elif options.mime == None and len(args) == 2 :
      mime = args[0]
      desktop = args[1]
      cfg.set(s,mime,desktop)
    else:
      print ("Parametros incorrectos!")
      parser.print_help()
    try:
      with open(f, 'w') as configfile:
        cfg.write(configfile)
    except IOError:
      print ("Permiso denegado.\n Este comando requiere privilegios de superusuario(root o use sudo en su defecto)")
