diff --git a/qgis_add_ins.py b/qgis_add_ins.py
index 9fac5d7f7c8fcb54a26b69578cc2e9b9b4679185..08df48bb1d96b7b41d083ccb4207d91b872be15e 100644
--- a/qgis_add_ins.py
+++ b/qgis_add_ins.py
@@ -3,8 +3,11 @@ from qgis.gui import *
 import qgis
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
+from PyQt4.QtXml import *
+from PyQt4.QtXmlPatterns import *
 import six
-
+import xml.etree
+from qgis.core import *
 
 def add_QgsRasterLayer(iface, path, rgb):
     if iface:
@@ -33,6 +36,63 @@ def add_QgsRasterLayer(iface, path, rgb):
     s = ""
 
 
+paste_test = """
+    <!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
+<qgis version="2.12.3-Lyon">
+ <pipe>
+  <rasterrenderer opacity="1" alphaBand="-1" blueBand="1" greenBand="2" type="multibandcolor" redBand="3">
+   <rasterTransparency/>
+   <redContrastEnhancement>
+    <minValue>2803.02</minValue>
+    <maxValue>6072.21</maxValue>
+    <algorithm>StretchToMinimumMaximum</algorithm>
+   </redContrastEnhancement>
+   <greenContrastEnhancement>
+    <minValue>5103.86</minValue>
+    <maxValue>7228.58</maxValue>
+    <algorithm>StretchToMinimumMaximum</algorithm>
+   </greenContrastEnhancement>
+   <blueContrastEnhancement>
+    <minValue>5992.32</minValue>
+    <maxValue>7718.33</maxValue>
+    <algorithm>StretchToMinimumMaximum</algorithm>
+   </blueContrastEnhancement>
+  </rasterrenderer>
+  <brightnesscontrast brightness="0" contrast="0"/>
+  <huesaturation colorizeGreen="128" colorizeOn="0" colorizeRed="255" colorizeBlue="128" grayscaleMode="0" saturation="0" colorizeStrength="100"/>
+  <rasterresampler maxOversampling="2"/>
+ </pipe>
+ <blendMode>0</blendMode>
+</qgis>
+    """
+
+def paste_band_settings(txt):
+
+    result = None
+    try:
+        import xml.etree.ElementTree as ET
+        tree = ET.fromstring(txt)
+
+        renderer = tree.find('*/rasterrenderer')
+        if renderer is not None:
+            bands = list()
+            ranges = list()
+            for c in ['red','green','blue']:
+                name = c + 'Band'
+                if name not in renderer.attrib.keys():
+                    return result
+
+                bands.append(int(renderer.attrib[name]))
+                v_min = float(renderer.find(c+'ContrastEnhancement/minValue').text)
+                v_max = float(renderer.find(c+'ContrastEnhancement/maxValue').text)
+                ranges.append((v_min, v_max))
+
+            result = (bands, ranges)
+    except:
+        pass
+
+    return result
+
 
 class PointMapTool(QgsMapToolEmitPoint):
 
@@ -138,3 +198,14 @@ class RectangleMapTool(QgsMapToolEmitPoint):
     #def deactivate(self):
     #   super(RectangleMapTool, self).deactivate()
     #self.deactivated.emit()
+
+
+
+def tests():
+
+    print(paste_band_settings(paste_test))
+    print(paste_band_settings('foo'))
+
+if __name__ == '__main__':
+    tests()
+    print('Done')
\ No newline at end of file