File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed
python/plugins/processing Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -92,6 +92,12 @@ def linkTestfile(f, t):
92
92
name = vector .ogrLayerName (tmpdir + '|layername=f2|layerid=0' )
93
93
self .assertEqual (name , 'f2' ) # layername takes precedence
94
94
95
+ name = vector .ogrLayerName ('dbname=\' /tmp/x.sqlite\' table="t" (geometry) sql=' )
96
+ self .assertEqual (name , 't' )
97
+
98
+ name = vector .ogrLayerName ('dbname=\' /tmp/x.sqlite\' table="s.t" (geometry) sql=' )
99
+ self .assertEqual (name , 's.t' )
100
+
95
101
def testFeatures (self ):
96
102
ProcessingConfig .initialize ()
97
103
Original file line number Diff line number Diff line change @@ -513,6 +513,19 @@ def ogrConnectionString(uri):
513
513
514
514
515
515
def ogrLayerName (uri ):
516
+ if 'host' in uri :
517
+ regex = re .compile ('table="(.+?)\.(.+?)"' )
518
+ r = regex .search (uri )
519
+ return '"' + r .groups ()[0 ] + '.' + r .groups ()[1 ] + '"'
520
+ elif 'dbname' in uri :
521
+ regex = re .compile ('table="(.+?)"' )
522
+ r = regex .search (uri )
523
+ return r .groups ()[0 ]
524
+ elif 'layername' in uri :
525
+ regex = re .compile ('(layername=)([^|]*)' )
526
+ r = regex .search (uri )
527
+ return r .groups ()[1 ]
528
+
516
529
fields = uri .split ('|' )
517
530
ogruri = fields [0 ]
518
531
fields = fields [1 :]
You can’t perform that action at this time.
0 commit comments