[meld: 21/63] filediff, sourceview: Simplify source language sniffing
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld: 21/63] filediff, sourceview: Simplify source language sniffing
- Date: Wed, 16 Dec 2015 21:20:44 +0000 (UTC)
commit 12fd9d211dcd237468262efd1f09f06666ca11e3
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sun Jul 19 13:32:10 2015 +1000
filediff, sourceview: Simplify source language sniffing
meld/filediff.py | 9 ++-------
meld/sourceview.py | 11 +++++------
2 files changed, 7 insertions(+), 13 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index a08be2f..9cf0a8d 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -1123,13 +1123,8 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
self._connect_buffer_handlers()
self._set_merge_action_sensitivity()
- langs = []
- for i in range(self.num_panes):
- filename = self.textbuffer[i].data.filename
- if filename:
- langs.append(LanguageManager.get_language_from_file(filename))
- else:
- langs.append(None)
+ langs = [LanguageManager.get_language_from_file(buf.data.gfile)
+ for buf in self.textbuffer[:self.num_panes]]
# If we have only one identified language then we assume that all of
# the files are actually of that type.
diff --git a/meld/sourceview.py b/meld/sourceview.py
index 0d142f3..145bf89 100644
--- a/meld/sourceview.py
+++ b/meld/sourceview.py
@@ -32,15 +32,14 @@ class LanguageManager(object):
manager = GtkSource.LanguageManager()
@classmethod
- def get_language_from_file(cls, filename):
- f = Gio.File.new_for_path(filename)
+ def get_language_from_file(cls, gfile):
try:
- info = f.query_info(Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
- 0, None)
- except GLib.GError:
+ info = gfile.query_info(
+ Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, 0, None)
+ except (GLib.GError, AttributeError):
return None
content_type = info.get_content_type()
- return cls.manager.guess_language(filename, content_type)
+ return cls.manager.guess_language(gfile.get_basename(), content_type)
@classmethod
def get_language_from_mime_type(cls, mime_type):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]