Utilities/mimetypes.py

branch
5_4_x
changeset 3567
d739e8de1b4f
child 3606
f2f90775526f
equal deleted inserted replaced
3561:1a14a490c0a2 3567:d739e8de1b4f
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing mimetype dependent functions.
8 """
9
10 import mimetypes
11
12 TextMimeTypes = [
13 "application/bookmarks.xbel",
14 "application/opensearchdescription+xml",
15 "application/x-actionscript",
16 "application/x-actionscript3",
17 "application/x-awk",
18 "application/x-sh",
19 "application/x-shellscript",
20 "application/x-shell-session",
21 "application/x-dos-batch",
22 "application/x-befunge",
23 "application/x-brainfuck",
24 "application/x-javascript+cheetah",
25 "application/x-javascript+spitfire",
26 "application/x-cheetah",
27 "application/x-spitfire",
28 "application/xml+cheetah",
29 "application/xml+spitfire",
30 "application/x-clojure",
31 "application/x-coldfusion",
32 "application/x-cython",
33 "application/x-django-templating",
34 "application/x-jinja",
35 "application/xml-dtd",
36 "application/x-ecl",
37 "application/x-ruby-templating",
38 "application/x-evoque",
39 "application/xml+evoque",
40 "application/x-fantom",
41 "application/x-genshi",
42 "application/x-kid",
43 "application/x-genshi-text",
44 "application/x-gettext",
45 "application/x-troff",
46 "application/xhtml+xml",
47 "application/x-php",
48 "application/x-httpd-php",
49 "application/x-httpd-php3",
50 "application/x-httpd-php4",
51 "application/x-httpd-php5",
52 "application/x-hybris",
53 "application/x-javascript+django",
54 "application/x-javascript+jinja",
55 "application/x-javascript+ruby",
56 "application/x-javascript+genshi",
57 "application/javascript",
58 "application/x-javascript",
59 "application/x-javascript+php",
60 "application/x-javascript+smarty",
61 "application/json",
62 "application/x-jsp",
63 "application/x-julia",
64 "application/x-httpd-lasso",
65 "application/x-httpd-lasso[89]",
66 "application/x-httpd-lasso8",
67 "application/x-httpd-lasso9",
68 "application/x-javascript+lasso",
69 "application/xml+lasso",
70 "application/x-lua",
71 "application/x-javascript+mako",
72 "application/x-mako",
73 "application/xml+mako",
74 "application/x-gooddata-maql",
75 "application/x-mason",
76 "application/x-moonscript",
77 "application/x-javascript+myghty",
78 "application/x-myghty",
79 "application/xml+myghty",
80 "application/x-newlisp",
81 "application/x-openedge",
82 "application/x-perl",
83 "application/postscript",
84 "application/x-pypylog",
85 "application/x-python3",
86 "application/x-python",
87 "application/x-qml",
88 "application/x-racket",
89 "application/x-pygments-tokens",
90 "application/x-ruby",
91 "application/x-standardml",
92 "application/x-scheme",
93 "application/x-sh-session",
94 "application/x-smarty",
95 "application/x-ssp",
96 "application/x-tcl",
97 "application/x-csh",
98 "application/x-urbiscript",
99 "application/xml+velocity",
100 "application/xquery",
101 "application/xml+django",
102 "application/xml+jinja",
103 "application/xml+ruby",
104 "application/xml",
105 "application/rss+xml",
106 "application/atom+xml",
107 "application/xml+php",
108 "application/xml+smarty",
109 "application/xsl+xml",
110 "application/xslt+xml",
111
112 "image/svg+xml",
113 ]
114
115
116 def isTextFile(filename):
117 """
118 Function to test, if the given file is a text (i.e. editable) file.
119
120 @param filename name of the file to be checked (string)
121 @return flag indicating an editable file (boolean)
122 """
123 type_ = mimetypes.guess_type(filename)[0]
124 if (type_ is None or
125 type_.split("/")[0] == "text" or
126 type_ in TextMimeTypes):
127 return True
128 else:
129 return False

eric ide

mercurial