Utilities/mimetypes.py

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

eric ide

mercurial