Utilities/MimeTypes.py

changeset 4097
ad2a6bd965d9
parent 4090
a53c9908854c
child 4101
68c26f72c0d1
equal deleted inserted replaced
4096:f909a4f59add 4097:ad2a6bd965d9
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 11
12 import mimetypes 12 import mimetypes
13 13
14 # TODO: make this configurable 14 import Preferences
15 TextMimeTypes = [
16 "application/bookmarks.xbel",
17 "application/x-xbel",
18 "application/opensearchdescription+xml",
19 "application/x-actionscript",
20 "application/x-actionscript3",
21 "application/x-awk",
22 "application/x-sh",
23 "application/x-shellscript",
24 "application/x-shell-session",
25 "application/x-dos-batch",
26 "application/x-befunge",
27 "application/x-brainfuck",
28 "application/x-javascript+cheetah",
29 "application/x-javascript+spitfire",
30 "application/x-cheetah",
31 "application/x-spitfire",
32 "application/xml+cheetah",
33 "application/xml+spitfire",
34 "application/x-clojure",
35 "application/x-coldfusion",
36 "application/x-cython",
37 "application/x-django-templating",
38 "application/x-jinja",
39 "application/xml-dtd",
40 "application/x-ecl",
41 "application/x-ruby-templating",
42 "application/x-evoque",
43 "application/xml+evoque",
44 "application/x-fantom",
45 "application/x-genshi",
46 "application/x-kid",
47 "application/x-genshi-text",
48 "application/x-gettext",
49 "application/x-troff",
50 "application/xhtml+xml",
51 "application/x-php",
52 "application/x-httpd-php",
53 "application/x-httpd-php3",
54 "application/x-httpd-php4",
55 "application/x-httpd-php5",
56 "application/x-hybris",
57 "application/x-javascript+django",
58 "application/x-javascript+jinja",
59 "application/x-javascript+ruby",
60 "application/x-javascript+genshi",
61 "application/javascript",
62 "application/x-javascript",
63 "application/x-javascript+php",
64 "application/x-javascript+smarty",
65 "application/json",
66 "application/x-jsp",
67 "application/x-julia",
68 "application/x-httpd-lasso",
69 "application/x-httpd-lasso[89]",
70 "application/x-httpd-lasso8",
71 "application/x-httpd-lasso9",
72 "application/x-javascript+lasso",
73 "application/xml+lasso",
74 "application/x-lua",
75 "application/x-javascript+mako",
76 "application/x-mako",
77 "application/xml+mako",
78 "application/x-gooddata-maql",
79 "application/x-mason",
80 "application/x-moonscript",
81 "application/x-javascript+myghty",
82 "application/x-myghty",
83 "application/xml+myghty",
84 "application/x-newlisp",
85 "application/x-openedge",
86 "application/x-perl",
87 "application/postscript",
88 "application/x-pypylog",
89 "application/x-python3",
90 "application/x-python",
91 "application/x-qml",
92 "application/x-racket",
93 "application/x-pygments-tokens",
94 "application/x-ruby",
95 "application/x-standardml",
96 "application/x-scheme",
97 "application/x-sh-session",
98 "application/x-smarty",
99 "application/x-ssp",
100 "application/x-tcl",
101 "application/x-csh",
102 "application/x-urbiscript",
103 "application/xml+velocity",
104 "application/xquery",
105 "application/xml+django",
106 "application/xml+jinja",
107 "application/xml+ruby",
108 "application/xml",
109 "application/rss+xml",
110 "application/atom+xml",
111 "application/xml+php",
112 "application/xml+smarty",
113 "application/xsl+xml",
114 "application/xslt+xml",
115 "application/x-desktop",
116
117 "image/svg+xml",
118 ]
119 15
120 16
121 def isTextFile(filename): 17 def isTextFile(filename):
122 """ 18 """
123 Function to test, if the given file is a text (i.e. editable) file. 19 Function to test, if the given file is a text (i.e. editable) file.
126 @return flag indicating an editable file (boolean) 22 @return flag indicating an editable file (boolean)
127 """ 23 """
128 type_ = mimetypes.guess_type(filename)[0] 24 type_ = mimetypes.guess_type(filename)[0]
129 if (type_ is None or 25 if (type_ is None or
130 type_.split("/")[0] == "text" or 26 type_.split("/")[0] == "text" or
131 type_ in TextMimeTypes): 27 type_ in Preferences.getUI("TextMimeTypes")):
132 return True 28 return True
133 else: 29 else:
134 return False 30 return False

eric ide

mercurial