Revision 609

View differences:

org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/resources-plugin/scripting/scripts/libs/tempfile.inf
1
[Unit]
2
type = Script
3
name = tempfile
4
description = 
5
createdBy = 
6
version = 
7

  
8
[Script]
9
main = main
10
Lang = python
11

  
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/resources-plugin/scripting/scripts/libs/tempfile.py
1

  
2

  
3
# ==========================================================
4
#
5
# Permite obtener un nombre de fichero temporal en la carpeta
6
# de ficheros temporales del sistema.
7
#
8
# Por ejemplo:
9
#
10
#   print getTempFile("capa", ".shp")
11
#
12
# En un sistema linux mostrara:
13
#
14
#   /tmp/taller/capa-55b798f1.shp
15
#
16

  
17

  
18
# https://docs.python.org/2/library/os.path.html
19
import tempfile
20
# https://docs.python.org/2/library/tempfile.html
21
import os
22
# https://docs.python.org/2/library/time.html
23
import time
24

  
25
def getTempFile(name, ext):
26
    tempdir = os.path.join(tempfile.gettempdir(),"taller")
27
    if not os.path.isdir(tempdir):
28
      os.makedirs(tempdir)
29
    f = os.path.join(
30
      tempdir,
31
      "%s-%x%s" % (name,time.time(),ext)
32
    )
33
    return f
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/resources-plugin/scripting/lib/gvsig_2_3_0/__init__.py
30 30
del dataparameter
31 31
del dynobject
32 32

  
33
from utils import createSchema, createFeatureType, createLayer, loadShapeFile, loadRasterFile, loadLayer, createShape, createTable, createDBF, COLORS, simplePointSymbol, simpleLineSymbol, simplePolygonSymbol, getDataFolder, getProjectsFolder, getColorFromRGB, getDefaultColor, getCRS
33
from utils import getTempFile, createSchema, createFeatureType, createLayer, loadShapeFile, loadRasterFile, loadLayer, createShape, createTable, createDBF, COLORS, simplePointSymbol, simpleLineSymbol, simplePolygonSymbol, getDataFolder, getProjectsFolder, getColorFromRGB, getDefaultColor, getCRS
org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.app/org.gvsig.scripting.app.mainplugin/src/main/resources-plugin/scripting/lib/gvsig_2_3_0/utils.py
9 9
from java.io import File
10 10
from java.lang import Throwable, RuntimeException
11 11
from project import currentView, currentProject
12
import time
13
from org.gvsig.andami import Utilities
12 14

  
13 15
def createFeatureType(schema = None):
14 16
  """Returns attributes definition. If Schema is recived then makes a copy and
......
138 140

  
139 141
    return layer
140 142

  
141
def createShape(definition, filename, geometryType=None, CRS="CRS:84"):
143
def createShape(definition, filename=None, geometryType=None, CRS="CRS:84"):
142 144
  """
143 145
  Return new shape layer
144 146
  :param definition: layer data definition
......
150 152
  :return: new shape layer
151 153
  :rtype: Layer
152 154
  """
155
  if filename == None:
156
      filename = getTempFile("tmpshp", ".shp")
153 157
  geomattr = definition.getDefaultGeometryAttribute()
154 158
  if geomattr == None:
155 159
    raise RuntimeException("Can't create a shp without geometry attribute")
......
369 373
  # Crear la nueva capa
370 374

  
371 375
  return newLayer
372
"""
376
"""
377

  
378
def getTempFile(name, ext):
379
    tempdir = Utilities.TEMPDIRECTORYPATH
380
    if not os.path.isdir(tempdir):
381
      os.makedirs(tempdir)
382
    t = time.time()
383
    f = os.path.join(
384
      tempdir,
385
      "%s-%x%x%s" % (name,t,(t-int(t)) * 10000,ext)
386
    )
387
    return f

Also available in: Unified diff