From 80691ad797df448aa5c9234b073834956b0a1ed6 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Mon, 28 Jun 2021 22:59:16 -0500 Subject: [PATCH] Fix in copy method --- README.md | 12 ++-- doc/build/.doctrees/environment.pickle | Bin 63125 -> 65044 bytes doc/build/.doctrees/main/paths.doctree | Bin 33419 -> 38496 bytes doc/build/_sources/main/paths.rst.txt | 88 ++++++++++++++++++++++++- doc/build/main/easymacro.html | 7 +- doc/build/main/paths.html | 75 ++++++++++++++++++++- doc/build/searchindex.js | 2 +- doc/source/main/paths.rst | 86 ++++++++++++++++++++++++ source/easymacro.py | 6 ++ 9 files changed, 265 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 5f03024..a9d9a7c 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,12 @@ LibreOffice SDK 7.0+ #### but, don't make the mistake of many of *thinking only in gratis software* that so much damage has done to **Free Software**. -This extension have a cost of maintenance of 10 euros every year. +This extension have a cost of maintenance of 1 euros every year. BCH: `qztd3l00xle5tffdqvh2snvadkuau2ml0uqm4n875d` +MONERO: `48ygK6NuuNAfwWfeAbeK8YP2ryPqxMAsUZBnfAhaHVkoHZ48JRYiQKKFd5GFMmaytyUpfxnyA95pWavjRgPUuKv1TUTvhkd` + BTC: `3FhiXcXmAesmQzrNEngjHFnvaJRhU1AGWV` ETH: `0x61a4f614a30ff686445751ed8328b82b77ecfc69` @@ -33,8 +35,6 @@ You have others cryptos, welcome too! ## Extensions develop with ZAZ -* https://gitlab.com/mauriciobaeza/zaz-barcode -* https://gitlab.com/mauriciobaeza/zaz-favorite -* https://gitlab.com/mauriciobaeza/zaz-easymacro -* https://gitlab.com/mauriciobaeza/zaz-pip -* https://gitlab.com/mauriciobaeza/zaz-inspect +* https://git.cuates.net/elmau/zaz-pip +* https://git.cuates.net/elmau/zaz-favorites +* https://git.cuates.net/elmau/zaz-functions diff --git a/doc/build/.doctrees/environment.pickle b/doc/build/.doctrees/environment.pickle index 850dbea52512166eedbffd886a71e202c548f76f..f0ffb0ed332cc0c7004e192a3d67ab5b11a6e3f5 100644 GIT binary patch literal 65044 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 literal 63125 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 PatS*+X_A_lSz7pi8~JYb diff --git a/doc/build/.doctrees/main/paths.doctree b/doc/build/.doctrees/main/paths.doctree index 16afe8b32ee8fa879d0cceb4083ae1f49a2f88c9..cd9055ffe77e7899f5ca74be749c7e9e985620e2 100644 GIT binary patch delta 3736 zcmd5;oTbeXoj?WG%IYBFpw}W|Em9nF*Q6 zCb6{HRtg1!T5l8tQ43;G)*s7?_<;UUSrD{T{Ua1>i+}55|M)|Ydd{86Ow!#x#462? z%gjA@&iU^5opbKZ3rB_XGeYNd=c{{Oo9#Sh?vN{%tedK#lT6Xb6IE&`{_%#gw!Y~} z*&?cLS~Qm<1!^f|(bBm~<|ToBGPIKQReHKza|}JjREdpL`n}nve>R&82p{^`@lAof z8~4gZHB%*OhR{MGr>3ceNaTuYT4oc-)fXLY9Bv$Jgq2S1`L2!*WrKFOi+#KOuI-2L zZKJYG=~tpkAo;nkG^sooan{z4K)4B==4J8#3F(GuWHM@6W)I)eKQsZRaMK)#h+^{@ zm$od7UAC|Z_XfBQUhdl6q_P5b_!1i^J>vh;2akuk*z8d6=*B6|V@%D&0Bw`Un8PDg z20_u`@kZTQwXg z=)M0Hp3R_ULNW4kB2P<+QKPKq3@Vuk+-kfaWkRTX99Nog1IP&DV}uogYgpPBP$x@j zPD-e{Bv;~!mCr4`yb1mWL?qXW$WGjOhi{&z#&^zUAvK~s2tEc%#!$%^SJF!eZgq8L zGs!{Ww37k5>68o>i4yhobfzRxr-xt6VliGQo1NMY$E0F#*ol%Y)>0>`M6JNGY=O zf%Vz{9KqE9JT*jozj4KWM8(eWVovm!z&t1>#gO?JXTC)-w6^NP7S;!an@f2Gn^2RBO*f?u`eDfOT#rB$w?lVdxO?6T-Wr`vDz|=YyV@e66N|V}3p`*j?E2|fS01TpstR-CQ zEI1wz+40R`T3?Qt)oA-h>xUTisA5?Kb0m?FjIyI7HP4XfX(x! z&?qUJH4#2@AZtN*-U)=tY+-cR|0{~_7qKVRzPdssfGf8U!aV82TcRXn=yE8E-7>Bl z9KYG-yMRX4<@?Xs|t43@QR8Xy`n-6@Ro9sx5BOBV@9FM&p`K1(mLhluC~`M zq-S^`X}jDc4Ywq!S0=aX<&e7LX_BFvn^wN?5C9f{|PlL z6g*XzI~%<~d!Jb2v1kB|Mbb*)(ngQJBQ}52Hh(KU{%WuP3;uvQ_h!j4@i&|K>*F@s z$+yv@_@+TKEWGHcu-c*PkEvg7eG`ccB-c7q3*`+p?JbydJMxZroJ@HAcZB?-F3Kw+ zh?o2UxWhUfJJw#ot$my-p=aU38yRo#o~>;KDA`Jc8BZTw4jm-Ds0M@rRrI;0RUD($EQuqcq-!L z0K}uE`ii2QQ6&@pzSRAgxAt>bn+LP@g~+}?^iA>r+@G`x4)5S_0*A9W{D8x9T{In&J*q+*yh{N^vJC?%){z_*h99 z009uyzUi-%9MI#4fCIw+S~eiO@Y{g!;%5WG3xy2`JE9HfZ5t50ejv`>eRz-WZ?^5) A@Bjb+ delta 274 zcmaE`hN-)iiM4@sYD3dT)_uiBX+`J@`Y*g+|H+bWtgNQ~DQ3oVSdpPqFb5lzy3sQ@x)K1aJn#4KTdUCx8NU0xKSx0Gx bB1i&g#;3_=1i{)}VcN4QI5%@o4P^uXh6-Mw diff --git a/doc/build/_sources/main/paths.rst.txt b/doc/build/_sources/main/paths.rst.txt index 0d25be3..902731e 100644 --- a/doc/build/_sources/main/paths.rst.txt +++ b/doc/build/_sources/main/paths.rst.txt @@ -432,7 +432,7 @@ This method use `os.walk` app.debug(f) -Get install path from id extension +Get install path extension from id ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: python @@ -446,4 +446,90 @@ Get install path from id extension 24/06/2021 21:47:29 - DEBUG - /home/mau/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu20665x29msz.tmp_/ZAZEasyMacro_v0.1.0.oxt +Verify if application exists +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: python + + app_name = 'nosoffice' + app.msgbox(app.paths.exists_app(app_name)) + + app_name = 'soffice' + app.msgbox(app.paths.exists_app(app_name)) + + +Open any type file +^^^^^^^^^^^^^^^^^^ + +Open with default application in OS. + +.. code-block:: python + + path = '/home/mau/Downloads/file.pdf' + app.paths.open(path) + + path = '/home/mau/Projects/libre_office/zaz/doc/build/index.html' + app.paths.open(path) + +Save and read json +^^^^^^^^^^^^^^^^^^ + +.. code-block:: python + + path = '/home/mau/data.json' + data = { + 'type': 'calc', + 'name': 'myfile.ods', + } + app.paths.to_json(path, data) + + data = app.paths.from_json(path) + + app.msgbox(data) + + +Save and read csv +^^^^^^^^^^^^^^^^^ + +You can used the same way that `python csv`_ + +.. code-block:: python + + path = '/home/mau/data.csv' + data = ( + (1, 'one', app.now()), + (2, 'two', app.now()), + (3, 'three', app.now()), + ) + app.paths.to_csv(path, data) + + data = app.paths.from_csv(path) + + app.msgbox(data) + + +Copy files +^^^^^^^^^^ + +Copy with the same name + +.. code-block:: python + + path = '/home/mau/image.png' + target = '/home/mau/Pictures' + path_new = app.paths.copy(path, target) + app.msgbox(path_new) + +Copy with other name + +.. code-block:: python + + path = '/home/mau/image.png' + target = '/home/mau/Pictures' + new_name = 'other_name.png' + path_new = app.paths.copy(path, target, name) + app.msgbox(path_new) + + .. _API XPathSettings: http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1util_1_1XPathSettings.html +.. _python csv: https://docs.python.org/3.7/library/csv.html diff --git a/doc/build/main/easymacro.html b/doc/build/main/easymacro.html index b8f5354..530556f 100644 --- a/doc/build/main/easymacro.html +++ b/doc/build/main/easymacro.html @@ -105,7 +105,12 @@
  • Delete files and directories
  • Get files
  • Get directories
  • -
  • Get install path from id extension
  • +
  • Get install path extension from id
  • +
  • Verify if application exists
  • +
  • Open any type file
  • +
  • Save and read json
  • +
  • Save and read csv
  • +
  • Copy files
  • Email
      diff --git a/doc/build/main/paths.html b/doc/build/main/paths.html index 6b85912..bfb279f 100644 --- a/doc/build/main/paths.html +++ b/doc/build/main/paths.html @@ -420,8 +420,8 @@ -
      -

      Get install path from id extension

      +
      +

      Get install path extension from id

      id_ext = 'net.elmau.zaz.EasyMacro'
       path = app.paths.from_id(id_ext)
       app.debug(path)
      @@ -431,6 +431,77 @@
       
      +
      +

      Verify if application exists

      +
      app_name = 'nosoffice'
      +app.msgbox(app.paths.exists_app(app_name))
      +
      +app_name = 'soffice'
      +app.msgbox(app.paths.exists_app(app_name))
      +
      +
      +
      +
      +

      Open any type file

      +

      Open with default application in OS.

      +
      path = '/home/mau/Downloads/file.pdf'
      +app.paths.open(path)
      +
      +path = '/home/mau/Projects/libre_office/zaz/doc/build/index.html'
      +app.paths.open(path)
      +
      +
      +
      +
      +

      Save and read json

      +
      path = '/home/mau/data.json'
      +data = {
      +    'type': 'calc',
      +    'name': 'myfile.ods',
      +}
      +app.paths.to_json(path, data)
      +
      +data = app.paths.from_json(path)
      +
      +app.msgbox(data)
      +
      +
      +
      +
      +

      Save and read csv

      +

      You can used the same way that python csv

      +
      path = '/home/mau/data.csv'
      +data = (
      +    (1, 'one', app.now()),
      +    (2, 'two', app.now()),
      +    (3, 'three', app.now()),
      +)
      +app.paths.to_csv(path, data)
      +
      +data = app.paths.from_csv(path)
      +
      +app.msgbox(data)
      +
      +
      +
      +
      +

      Copy files

      +

      Copy with the same name

      +
      path = '/home/mau/image.png'
      +target = '/home/mau/Pictures'
      +path_new = app.paths.copy(path, target)
      +app.msgbox(path_new)
      +
      +
      +

      Copy with other name

      +
      path = '/home/mau/image.png'
      +target = '/home/mau/Pictures'
      +new_name = 'other_name.png'
      +path_new = app.paths.copy(path, target, name)
      +app.msgbox(path_new)
      +
      +
      +
      diff --git a/doc/build/searchindex.js b/doc/build/searchindex.js index 8e5145b..93ecc61 100644 --- a/doc/build/searchindex.js +++ b/doc/build/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","main/application","main/base","main/calc","main/config","main/easymacro","main/email","main/examples","main/examples_app","main/examples_base","main/examples_calc","main/examples_draw","main/examples_writer","main/intro","main/paths","main/tools","main/tools_for_debug","main/writer"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["index.rst","main/application.rst","main/base.rst","main/calc.rst","main/config.rst","main/easymacro.rst","main/email.rst","main/examples.rst","main/examples_app.rst","main/examples_base.rst","main/examples_calc.rst","main/examples_draw.rst","main/examples_writer.rst","main/intro.rst","main/paths.rst","main/tools.rst","main/tools_for_debug.rst","main/writer.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[4,8,12,13,14,16],"02":13,"04":13,"06":[14,15],"07":13,"080315":15,"082211":15,"09":15,"0k":15,"1":[4,9,13,14,15,16],"100":10,"11":[13,15],"12":15,"126446":15,"128487":15,"13":15,"14":15,"15":15,"16":15,"17":15,"18":15,"19":15,"2":[4,9,15,16],"20":[13,15],"200":10,"2001":9,"2002":9,"2003":9,"2004":9,"2005":9,"2021":[13,14,15],"21":[14,15],"22":15,"23":[13,15],"24":14,"26":15,"27":15,"29":14,"3":[4,9,13],"300":10,"34":15,"35":15,"3m":15,"4":[9,14,15],"40":13,"400":10,"41":13,"42":15,"43":15,"46":15,"47":[14,15],"48":15,"5":[9,15],"50":13,"500":[10,16],"53":[13,15],"6":15,"7":13,"8859":14,"9":4,"abstract":5,"case":15,"catch":5,"class":9,"default":[1,14,15],"do":14,"extensi\u00f3n":4,"final":13,"function":[13,16],"import":[1,2,3,5,6,9,14,15,16,17],"new":[4,5,9,11,13],"null":9,"opci\u00f3n":4,"public":4,"return":[8,9,10,11,12,15,16],"super":15,"true":[1,4,9,11,14,15],"while":1,A:4,And:16,FOR:4,For:[0,1,4,7,15],If:[4,16],In:[4,13,15],Is:[4,15],It:[4,5],Of:15,Ons:4,Or:14,The:4,With:[1,13],a1:10,absolut:4,academ:12,act:14,action:[14,15],activ:[1,5,12,16,17],active_sheet:[3,10],add:[4,13,14,16],addin:[4,13],addonmenu:4,all:[4,14],along:4,alt:[4,8],alwai:[1,2,3,5,6,14,15,16,17],an:[5,14],ani:[1,4,5,15,16],api:[5,14,15],app:[1,2,3,5,6,8,9,10,11,12,14,15,16,17],app_nam:15,applic:[0,4,5,7,15],april:10,apt:13,ar:[5,14,15],arbitrari:1,archlinux:13,arg:[1,15],argument:[1,4],ask:14,automat:[4,10,16],autostyl:7,awt:1,b:14,base:[0,4,5,7],base_insert_data:9,base_select_data:9,basedatefield:9,basemodel:9,basic:[13,15],befor:[4,16],bergman:[9,15],best:15,better:[15,16],between:5,bin:[4,14],binari:5,blank:4,bmp:4,bool:4,born:9,both:15,box:5,c:13,cach:14,calc:[0,1,4,5,7,8,13],calc_data_to_cel:10,calcul:[10,15],call:5,call_dispatch:1,call_macro:15,can:[1,4,5,9,13,14,15,16],captur:15,catch_except:16,caution:[14,15],cd:[4,13],cell:7,chang:14,charfield:9,clipboard:7,clock:15,clone:13,close:11,code:[4,5,16],com:1,command:[1,15],commandurl:8,complex:[5,15],compon:[4,13],compress:13,con:5,conf:[4,15],config:[14,15],configur:[0,5],confirm:14,connect:[2,9],contact:[9,15],contacto:9,content:14,context:[1,4,14],copi:[4,13,16],correctli:4,cotillar:9,count:5,cours:[13,15],creat:[4,5,7,13],create_inst:1,create_t:9,cryptographi:15,ctrl:[4,8],cuat:13,current:[4,5,15],custom:[5,7],danger:15,darken:14,data:[5,7,8,15,16],data_to_dict:15,databas:[5,9],database_proxi:9,databaseproxi:9,date:[5,9,16],datetim:9,db:[2,9],de:4,debug:[0,5,8,14,15],decrypt:5,def:[8,9,10,11,12,15,16],defin:14,delet:[5,7],delete_menu:8,delin:14,descript:4,desktop1:1,desktop2:1,desktop:[1,15],detail:4,dev:13,develop:[4,5,13],dialog:1,dialogprovider2:1,dict:9,dict_to_properti:15,dictionari:[4,5],difficult:16,digest:5,dir:5,dir_tmp:14,directli:[5,15],directori:[5,13],dispatch:5,displai:4,display_nam:4,displaynam:4,distribut:4,doc:[2,5,9,11,12],document:[1,5,11,15],domain:13,don:[13,14],done:13,download:[13,15],draw:[0,1,4,7],drwxr:15,dt:14,each:4,easi:15,easili:5,easymacro:[0,1,2,3,6,9,14,15,16,17],echochar:15,edit:4,either:4,el:4,elmau:[4,13,14],els:9,email:[0,5],en:[4,5],encod:14,encrypt:5,encrypt_decrypt:15,end:15,epoch:15,error:5,errorbox:15,es:4,even:4,everi:15,exactli:4,exampl:[0,1,4,8],except:5,execut:[5,9,15],exist:[1,5,9],exit:14,ext:14,extens:[0,5,16],extensionnam:4,extern:5,f:[1,4,14],fals:9,februari:10,file:[0,1,5,13],file_nam:[14,15],file_test:4,filter:14,finish:15,first:0,fit:4,folder:[4,14],fonda:9,forget:13,format:[1,4,5,15],foundat:4,frame:1,free:4,fresh:13,from:[5,7,9,13],from_id:14,galleri:1,gener:[4,13],get:[5,9],get_config:15,get_desktop:1,get_dir:14,get_epoch:15,get_fil:14,get_json:15,get_queri:9,git:13,gnome:15,gnu:[4,15],gran:4,great:4,happi:5,have:[4,16],he:14,hello:15,hi:14,hidden:[1,11,15],himself:14,home:[1,2,4,5,9,11,15,16],hope:4,http:[4,13,15],httpx:15,i18n:4,i:[13,15],id:[5,9],id_ext:14,id_fold:14,id_par:14,idea:14,identityfield:9,idl:4,idlc:4,imag:[4,7],immedi:14,impli:4,impress:[1,4],includ:4,index:[0,8],info:[4,5,8,13],info_debug:[5,8,15],inform:[14,16],ingrid:[9,15],init:14,initi:9,inputbox:5,insert:[7,8],insert_menu_in_calc:8,instal:[0,4,5,9,15,16],instanc:5,instruct:14,integ:4,intern:4,introduct:0,invers:4,ipifi:15,is_dir:14,is_fil:14,is_mac:15,is_win:15,iso:14,issu:16,iter:5,jane:9,januari:10,jefferson:14,join:5,json:5,json_dump:15,json_load:15,jun:15,kei:4,keyboard:4,kill:14,kim:9,know:14,label:[4,8],lang:15,languag:[4,15],languaj:15,later:4,layer:5,legacy_table_nam:9,len:1,lessen:14,letmein:[1,15],letter_lov:15,lh:15,lib:4,librari:[0,1,2,3,6,8,14,15,17],libreoffic:[1,4,5,13,15,16],license_:4,license_en:4,light:14,like:4,line:15,link:4,linux:15,list:5,list_of_list:15,local:13,log:5,logo:4,look:4,loren:9,ls:15,lu20665x29msz:14,m:8,mac:15,macro:[4,5,7,8,13],mai:[10,15],main:15,major:5,make:[5,7,13],manag:4,march:10,marion:9,mau:[1,2,4,9,11,14,15,16],me:14,measur:15,menu:7,menu_main:4,merchant:4,messag:5,meta:9,method:[1,14],mi:4,mine:14,model:9,modifi:4,modul:[0,15],module1:15,month:10,more:[4,5,15],move:[4,13],mri:5,msg:[1,16],msgbox:[1,2,3,5,6,8,11,14,15,16,17],multi:4,multipl:14,my:[0,4,8,15,16],my_app:15,my_extens:15,mydoc:1,myfil:14,myfirstextens:13,myfirstextension_v0:13,mygreatextens:4,mymacro:8,n:[4,13],name:[3,5,8,9,14,15,16],name_16:4,name_26:4,need:[9,15,16],net:[4,13,14],nombr:4,none:15,normal:[4,15],novak:9,now:[13,15],obj:[5,16],object:[1,5,16],od:[1,4,14],odb:[2,9],odt:[1,14,15],officemenubar:4,ok:15,one:[4,14,16],onli:[1,4,15],open:[4,5,11,14,16],oper:15,option1:4,option:[4,14],org:[4,15],origin:[1,5],os:[6,14,15],other:[1,14,15],ott:14,out:15,output:15,overview:0,oxt:[13,14],p:14,pacman:13,page:[0,4],paramet:0,part:4,particular:4,pass:4,password:[1,15],past:11,path:[0,1,2,5,9,11,15],path_dir:14,path_fil:14,path_hom:14,path_new:14,path_pygettext:4,path_python:14,path_temp:14,path_tmp:14,path_url:14,pathlib:14,pc:5,pdf:14,peewe:9,pictur:[11,15],pip:9,planet:16,pleas:[4,16],png:[4,15],popen:15,possibl:4,pot:[4,13],print:9,privat:15,probabl:5,problem:16,process:16,product:[7,16],program:5,project:[4,13,15,16],properti:[1,4,5],provid:13,prueba:4,publish:4,purpos:4,py:[0,1,4,13],python3:4,python:[5,13,15],pyuno:16,queri:9,question:5,r:[15,16],rang:10,rapid:13,rdb:4,read:5,read_bin:14,receiv:[4,14],recommend:[4,13],recurs:14,redistribut:4,regard:15,regmerg:4,rel:4,rememb:[1,2,3,6,14,15,17],remerg:4,remov:8,render:5,replac:5,replace_ext:14,repositori:13,request:15,requir:0,result:[14,15],row:9,run:15,run_in_thread:15,rw:15,s:[4,5,13],safe_for_delet:14,same:[4,15],save:[5,7,16],save_bin:14,save_data:15,save_image_from_clipboard:11,save_log:16,save_tmp:14,script:13,sdk:[4,13],search:0,second:15,secret:15,see:4,select:[5,7],semant:4,send:[5,15],servic:1,set:[4,7],set_config:15,sha256:15,sha512:15,share:4,sheet:[5,10],shell:16,shift:[4,8],shortcut:[4,8],should:4,show:[4,5,8,16],show_info_debug:8,show_messag:15,show_tim:15,simpl:5,size:[10,14],sleep:15,soffic:4,sofia:9,softwar:4,sometim:16,sourc:13,space:4,standard:15,star:1,start:[4,13,15,16],start_clock:15,start_tim:15,stop:15,stop_clock:15,stop_tim:15,string:[4,5],style:12,sub:15,subdirectori:14,submenu:8,successfulli:13,sudo:13,sun:1,support:[1,13,15],system:[5,15],t:[4,13,14],t_shift_mod1_mod2:4,tabl:7,taper:14,target:11,technic:15,temp:5,temp_dir:14,templat:15,tempor:5,teresa:16,term:4,test:[9,13,14,15,16],text:[4,5,15],thi:[4,13,14,15,16],thoma:14,thread:5,three:16,ticket:16,time:[5,16],timer:5,timer_nam:15,titl:[1,4,15],tmp:14,tmp_:14,to_system:14,to_url:14,todai:15,token:15,too:[4,15],tool:[0,4,5,8],toolbar:4,toolkit:1,total:[10,15],tu:4,tupl:[4,5,9,14],tuple_of_tupl:15,two:4,txt:[14,16],type:[1,2,3,15,17],type_extens:4,u:9,ubuntu:13,under:4,uniqu:4,uno:[1,5],uno_packag:14,unopkg:[4,13],urd:4,url:[4,5],url_open:15,us:[1,4,5,7,13,14,15,16],use_local:4,user:[13,14,15],usr:4,utf8:14,v:4,valor:4,valu:4,variant:15,verifi:16,version:15,video:15,vim:4,visibl:1,walk:14,walk_dir:14,want:[4,14],warn:5,warranti:4,what:4,when:[4,14],where:4,who:14,window:15,without:[1,4,14],wizard:4,work:15,writer:[0,1,4,5,7],writer_table_set_styl:12,www:4,x:15,xlsx:1,xml:14,xpathset:14,xr:15,you:[1,4,5,9,13,14,15,16],your:[4,5,15,16],yournam:4,zaz:[4,8,13,14],zazeasymacro_v0:14},titles:["Welcome to ZAZ\u2019s documentation!","Application","Base","Calc","Configuration","Library easymacro.py","Email","Examples","For Application","For Base","For Calc","For Draw","For Writer","Introduction","Paths and files","Tools","Tools for debug","Writer"],titleterms:{"catch":16,"default":4,"function":4,"new":[1,2],For:[8,9,10,11,12],activ:3,applic:[1,8],author:4,autostyl:12,base:[2,9],binari:14,box:[15,16],calc:[3,10],call:[1,15,16],cell:10,clipboard:11,configur:[4,14,15],content:[0,5,7],count:1,creat:[1,9],current:[1,3,17],custom:8,data:[9,10,14],databas:2,date:15,debug:16,decrypt:15,delet:[8,14],dictionari:15,digest:15,dir:14,directori:14,dispatch:1,doc:[1,3,17],document:[0,14],domain:4,draw:11,easymacro:5,email:6,encrypt:15,error:[15,16],exampl:7,except:16,execut:14,exist:14,extens:[4,13,14],extern:15,file:[4,14,16],first:13,format:14,from:[11,14,15],get:[1,14,15],home:14,icon:4,id:[4,14],imag:11,indic:0,info:[14,15,16],info_debug:16,inform:4,inputbox:15,insert:9,instal:[13,14],instanc:1,introduct:13,iter:1,join:14,json:15,librari:5,libreoffic:14,licens:4,list:15,local:4,log:16,macro:15,main:4,make:[8,15],menu:[4,8],messag:[15,16],mri:16,my:13,name:[1,4],open:[1,15],overview:13,paramet:4,parent:4,path:[4,14],pc:15,program:[4,15],properti:15,py:5,pygettext:4,python:14,question:15,read:14,render:15,replac:14,requir:13,s:0,save:[11,14,15],select:[9,14],send:6,set:12,sheet:3,show:15,simpl:15,string:15,system:14,tabl:[0,9,12],temp:14,tempor:14,test:4,text:14,thread:15,time:15,timer:15,tool:[15,16],tupl:15,type:4,url:[14,15],version:4,warn:15,welcom:0,writer:[12,17],zaz:0}}) \ No newline at end of file +Search.setIndex({docnames:["index","main/application","main/base","main/calc","main/config","main/easymacro","main/email","main/examples","main/examples_app","main/examples_base","main/examples_calc","main/examples_draw","main/examples_writer","main/intro","main/paths","main/tools","main/tools_for_debug","main/writer"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["index.rst","main/application.rst","main/base.rst","main/calc.rst","main/config.rst","main/easymacro.rst","main/email.rst","main/examples.rst","main/examples_app.rst","main/examples_base.rst","main/examples_calc.rst","main/examples_draw.rst","main/examples_writer.rst","main/intro.rst","main/paths.rst","main/tools.rst","main/tools_for_debug.rst","main/writer.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[4,8,12,13,14,16],"02":13,"04":13,"06":[14,15],"07":13,"080315":15,"082211":15,"09":15,"0k":15,"1":[4,9,13,14,15,16],"100":10,"11":[13,15],"12":15,"126446":15,"128487":15,"13":15,"14":15,"15":15,"16":15,"17":15,"18":15,"19":15,"2":[4,9,14,15,16],"20":[13,15],"200":10,"2001":9,"2002":9,"2003":9,"2004":9,"2005":9,"2021":[13,14,15],"21":[14,15],"22":15,"23":[13,15],"24":14,"26":15,"27":15,"29":14,"3":[4,9,13,14],"300":10,"34":15,"35":15,"3m":15,"4":[9,14,15],"40":13,"400":10,"41":13,"42":15,"43":15,"46":15,"47":[14,15],"48":15,"5":[9,15],"50":13,"500":[10,16],"53":[13,15],"6":15,"7":13,"8859":14,"9":4,"abstract":5,"case":15,"catch":5,"class":9,"default":[1,14,15],"do":14,"extensi\u00f3n":4,"final":13,"function":[13,16],"import":[1,2,3,5,6,9,14,15,16,17],"new":[4,5,9,11,13],"null":9,"opci\u00f3n":4,"public":4,"return":[8,9,10,11,12,15,16],"super":15,"true":[1,4,9,11,14,15],"while":1,A:4,And:16,FOR:4,For:[0,1,4,7,15],If:[4,16],In:[4,13,15],Is:[4,15],It:[4,5],Of:15,Ons:4,Or:14,The:4,With:[1,13],a1:10,absolut:4,academ:12,act:14,action:[14,15],activ:[1,5,12,16,17],active_sheet:[3,10],add:[4,13,14,16],addin:[4,13],addonmenu:4,all:[4,14],along:4,alt:[4,8],alwai:[1,2,3,5,6,14,15,16,17],an:[5,14],ani:[1,4,5,15,16],api:[5,14,15],app:[1,2,3,5,6,8,9,10,11,12,14,15,16,17],app_nam:[14,15],applic:[0,4,5,7,15],april:10,apt:13,ar:[5,14,15],arbitrari:1,archlinux:13,arg:[1,15],argument:[1,4],ask:14,automat:[4,10,16],autostyl:7,awt:1,b:14,base:[0,4,5,7],base_insert_data:9,base_select_data:9,basedatefield:9,basemodel:9,basic:[13,15],befor:[4,16],bergman:[9,15],best:15,better:[15,16],between:5,bin:[4,14],binari:5,blank:4,bmp:4,bool:4,born:9,both:15,box:5,build:14,c:13,cach:14,calc:[0,1,4,5,7,8,13,14],calc_data_to_cel:10,calcul:[10,15],call:5,call_dispatch:1,call_macro:15,can:[1,4,5,9,13,14,15,16],captur:15,catch_except:16,caution:[14,15],cd:[4,13],cell:7,chang:14,charfield:9,clipboard:7,clock:15,clone:13,close:11,code:[4,5,16],com:1,command:[1,15],commandurl:8,complex:[5,15],compon:[4,13],compress:13,con:5,conf:[4,15],config:[14,15],configur:[0,5],confirm:14,connect:[2,9],contact:[9,15],contacto:9,content:14,context:[1,4,14],copi:[4,5,13,16],correctli:4,cotillar:9,count:5,cours:[13,15],creat:[4,5,7,13],create_inst:1,create_t:9,cryptographi:15,csv:5,ctrl:[4,8],cuat:13,current:[4,5,15],custom:[5,7],danger:15,darken:14,data:[5,7,8,15,16],data_to_dict:15,databas:[5,9],database_proxi:9,databaseproxi:9,date:[5,9,16],datetim:9,db:[2,9],de:4,debug:[0,5,8,14,15],decrypt:5,def:[8,9,10,11,12,15,16],defin:14,delet:[5,7],delete_menu:8,delin:14,descript:4,desktop1:1,desktop2:1,desktop:[1,15],detail:4,dev:13,develop:[4,5,13],dialog:1,dialogprovider2:1,dict:9,dict_to_properti:15,dictionari:[4,5],difficult:16,digest:5,dir:5,dir_tmp:14,directli:[5,15],directori:[5,13],dispatch:5,displai:4,display_nam:4,displaynam:4,distribut:4,doc:[2,5,9,11,12,14],document:[1,5,11,15],domain:13,don:[13,14],done:13,download:[13,14,15],draw:[0,1,4,7],drwxr:15,dt:14,each:4,easi:15,easili:5,easymacro:[0,1,2,3,6,9,14,15,16,17],echochar:15,edit:4,either:4,el:4,elmau:[4,13,14],els:9,email:[0,5],en:[4,5],encod:14,encrypt:5,encrypt_decrypt:15,end:15,epoch:15,error:5,errorbox:15,es:4,even:4,everi:15,exactli:4,exampl:[0,1,4,8],except:5,execut:[5,9,15],exist:[1,5,9],exists_app:14,exit:14,ext:14,extens:[0,5,16],extensionnam:4,extern:5,f:[1,4,14],fals:9,februari:10,file:[0,1,5,13],file_nam:[14,15],file_test:4,filter:14,finish:15,first:0,fit:4,folder:[4,14],fonda:9,forget:13,format:[1,4,5,15],foundat:4,frame:1,free:4,fresh:13,from:[5,7,9,13],from_csv:14,from_id:14,from_json:14,galleri:1,gener:[4,13],get:[5,9],get_config:15,get_desktop:1,get_dir:14,get_epoch:15,get_fil:14,get_json:15,get_queri:9,git:13,gnome:15,gnu:[4,15],gran:4,great:4,happi:5,have:[4,16],he:14,hello:15,hi:14,hidden:[1,11,15],himself:14,home:[1,2,4,5,9,11,15,16],hope:4,html:14,http:[4,13,15],httpx:15,i18n:4,i:[13,15],id:[5,9],id_ext:14,id_fold:14,id_par:14,idea:14,identityfield:9,idl:4,idlc:4,imag:[4,7,14],immedi:14,impli:4,impress:[1,4],includ:4,index:[0,8,14],info:[4,5,8,13],info_debug:[5,8,15],inform:[14,16],ingrid:[9,15],init:14,initi:9,inputbox:5,insert:[7,8],insert_menu_in_calc:8,instal:[0,4,5,9,15,16],instanc:5,instruct:14,integ:4,intern:4,introduct:0,invers:4,ipifi:15,is_dir:14,is_fil:14,is_mac:15,is_win:15,iso:14,issu:16,iter:5,jane:9,januari:10,jefferson:14,join:5,json:5,json_dump:15,json_load:15,jun:15,kei:4,keyboard:4,kill:14,kim:9,know:14,label:[4,8],lang:15,languag:[4,15],languaj:15,later:4,layer:5,legacy_table_nam:9,len:1,lessen:14,letmein:[1,15],letter_lov:15,lh:15,lib:4,librari:[0,1,2,3,6,8,14,15,17],libre_offic:14,libreoffic:[1,4,5,13,15,16],license_:4,license_en:4,light:14,like:4,line:15,link:4,linux:15,list:5,list_of_list:15,local:13,log:5,logo:4,look:4,loren:9,ls:15,lu20665x29msz:14,m:8,mac:15,macro:[4,5,7,8,13],mai:[10,15],main:15,major:5,make:[5,7,13],manag:4,march:10,marion:9,mau:[1,2,4,9,11,14,15,16],me:14,measur:15,menu:7,menu_main:4,merchant:4,messag:5,meta:9,method:[1,14],mi:4,mine:14,model:9,modifi:4,modul:[0,15],module1:15,month:10,more:[4,5,15],move:[4,13],mri:5,msg:[1,16],msgbox:[1,2,3,5,6,8,11,14,15,16,17],multi:4,multipl:14,my:[0,4,8,15,16],my_app:15,my_extens:15,mydoc:1,myfil:14,myfirstextens:13,myfirstextension_v0:13,mygreatextens:4,mymacro:8,n:[4,13],name:[3,5,8,9,14,15,16],name_16:4,name_26:4,need:[9,15,16],net:[4,13,14],new_nam:14,nombr:4,none:15,normal:[4,15],nosoffic:14,novak:9,now:[13,14,15],obj:[5,16],object:[1,5,16],od:[1,4,14],odb:[2,9],odt:[1,14,15],officemenubar:4,ok:15,one:[4,14,16],onli:[1,4,15],open:[4,5,11,16],oper:15,option1:4,option:[4,14],org:[4,15],origin:[1,5],os:[6,14,15],other:[1,14,15],other_nam:14,ott:14,out:15,output:15,overview:0,oxt:[13,14],p:14,pacman:13,page:[0,4],paramet:0,part:4,particular:4,pass:4,password:[1,15],past:11,path:[0,1,2,5,9,11,15],path_dir:14,path_fil:14,path_hom:14,path_new:14,path_pygettext:4,path_python:14,path_temp:14,path_tmp:14,path_url:14,pathlib:14,pc:5,pdf:14,peewe:9,pictur:[11,14,15],pip:9,planet:16,pleas:[4,16],png:[4,14,15],popen:15,possibl:4,pot:[4,13],print:9,privat:15,probabl:5,problem:16,process:16,product:[7,16],program:5,project:[4,13,14,15,16],properti:[1,4,5],provid:13,prueba:4,publish:4,purpos:4,py:[0,1,4,13],python3:4,python:[5,13,15],pyuno:16,queri:9,question:5,r:[15,16],rang:10,rapid:13,rdb:4,read:5,read_bin:14,receiv:[4,14],recommend:[4,13],recurs:14,redistribut:4,regard:15,regmerg:4,rel:4,rememb:[1,2,3,6,14,15,17],remerg:4,remov:8,render:5,replac:5,replace_ext:14,repositori:13,request:15,requir:0,result:[14,15],row:9,run:15,run_in_thread:15,rw:15,s:[4,5,13],safe_for_delet:14,same:[4,14,15],save:[5,7,16],save_bin:14,save_data:15,save_image_from_clipboard:11,save_log:16,save_tmp:14,script:13,sdk:[4,13],search:0,second:15,secret:15,see:4,select:[5,7],semant:4,send:[5,15],servic:1,set:[4,7],set_config:15,sha256:15,sha512:15,share:4,sheet:[5,10],shell:16,shift:[4,8],shortcut:[4,8],should:4,show:[4,5,8,16],show_info_debug:8,show_messag:15,show_tim:15,simpl:5,size:[10,14],sleep:15,soffic:[4,14],sofia:9,softwar:4,sometim:16,sourc:13,space:4,standard:15,star:1,start:[4,13,15,16],start_clock:15,start_tim:15,stop:15,stop_clock:15,stop_tim:15,string:[4,5],style:12,sub:15,subdirectori:14,submenu:8,successfulli:13,sudo:13,sun:1,support:[1,13,15],system:[5,15],t:[4,13,14],t_shift_mod1_mod2:4,tabl:7,taper:14,target:[11,14],technic:15,temp:5,temp_dir:14,templat:15,tempor:5,teresa:16,term:4,test:[9,13,14,15,16],text:[4,5,15],thi:[4,13,14,15,16],thoma:14,thread:5,three:[14,16],ticket:16,time:[5,16],timer:5,timer_nam:15,titl:[1,4,15],tmp:14,tmp_:14,to_csv:14,to_json:14,to_system:14,to_url:14,todai:15,token:15,too:[4,15],tool:[0,4,5,8],toolbar:4,toolkit:1,total:[10,15],tu:4,tupl:[4,5,9,14],tuple_of_tupl:15,two:[4,14],txt:[14,16],type:[1,2,3,5,15,17],type_extens:4,u:9,ubuntu:13,under:4,uniqu:4,uno:[1,5],uno_packag:14,unopkg:[4,13],urd:4,url:[4,5],url_open:15,us:[1,4,5,7,13,14,15,16],use_local:4,user:[13,14,15],usr:4,utf8:14,v:4,valor:4,valu:4,variant:15,verifi:[5,16],version:15,video:15,vim:4,visibl:1,wai:14,walk:14,walk_dir:14,want:[4,14],warn:5,warranti:4,what:4,when:[4,14],where:4,who:14,window:15,without:[1,4,14],wizard:4,work:15,writer:[0,1,4,5,7],writer_table_set_styl:12,www:4,x:15,xlsx:1,xml:14,xpathset:14,xr:15,you:[1,4,5,9,13,14,15,16],your:[4,5,15,16],yournam:4,zaz:[4,8,13,14],zazeasymacro_v0:14},titles:["Welcome to ZAZ\u2019s documentation!","Application","Base","Calc","Configuration","Library easymacro.py","Email","Examples","For Application","For Base","For Calc","For Draw","For Writer","Introduction","Paths and files","Tools","Tools for debug","Writer"],titleterms:{"catch":16,"default":4,"function":4,"new":[1,2],For:[8,9,10,11,12],activ:3,ani:14,applic:[1,8,14],author:4,autostyl:12,base:[2,9],binari:14,box:[15,16],calc:[3,10],call:[1,15,16],cell:10,clipboard:11,configur:[4,14,15],content:[0,5,7],copi:14,count:1,creat:[1,9],csv:14,current:[1,3,17],custom:8,data:[9,10,14],databas:2,date:15,debug:16,decrypt:15,delet:[8,14],dictionari:15,digest:15,dir:14,directori:14,dispatch:1,doc:[1,3,17],document:[0,14],domain:4,draw:11,easymacro:5,email:6,encrypt:15,error:[15,16],exampl:7,except:16,execut:14,exist:14,extens:[4,13,14],extern:15,file:[4,14,16],first:13,format:14,from:[11,14,15],get:[1,14,15],home:14,icon:4,id:[4,14],imag:11,indic:0,info:[14,15,16],info_debug:16,inform:4,inputbox:15,insert:9,instal:[13,14],instanc:1,introduct:13,iter:1,join:14,json:[14,15],librari:5,libreoffic:14,licens:4,list:15,local:4,log:16,macro:15,main:4,make:[8,15],menu:[4,8],messag:[15,16],mri:16,my:13,name:[1,4],open:[1,14,15],overview:13,paramet:4,parent:4,path:[4,14],pc:15,program:[4,15],properti:15,py:5,pygettext:4,python:14,question:15,read:14,render:15,replac:14,requir:13,s:0,save:[11,14,15],select:[9,14],send:6,set:12,sheet:3,show:15,simpl:15,string:15,system:14,tabl:[0,9,12],temp:14,tempor:14,test:4,text:14,thread:15,time:15,timer:15,tool:[15,16],tupl:15,type:[4,14],url:[14,15],verifi:14,version:4,warn:15,welcom:0,writer:[12,17],zaz:0}}) \ No newline at end of file diff --git a/doc/source/main/paths.rst b/doc/source/main/paths.rst index 321d8d1..902731e 100644 --- a/doc/source/main/paths.rst +++ b/doc/source/main/paths.rst @@ -446,4 +446,90 @@ Get install path extension from id 24/06/2021 21:47:29 - DEBUG - /home/mau/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu20665x29msz.tmp_/ZAZEasyMacro_v0.1.0.oxt +Verify if application exists +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: python + + app_name = 'nosoffice' + app.msgbox(app.paths.exists_app(app_name)) + + app_name = 'soffice' + app.msgbox(app.paths.exists_app(app_name)) + + +Open any type file +^^^^^^^^^^^^^^^^^^ + +Open with default application in OS. + +.. code-block:: python + + path = '/home/mau/Downloads/file.pdf' + app.paths.open(path) + + path = '/home/mau/Projects/libre_office/zaz/doc/build/index.html' + app.paths.open(path) + +Save and read json +^^^^^^^^^^^^^^^^^^ + +.. code-block:: python + + path = '/home/mau/data.json' + data = { + 'type': 'calc', + 'name': 'myfile.ods', + } + app.paths.to_json(path, data) + + data = app.paths.from_json(path) + + app.msgbox(data) + + +Save and read csv +^^^^^^^^^^^^^^^^^ + +You can used the same way that `python csv`_ + +.. code-block:: python + + path = '/home/mau/data.csv' + data = ( + (1, 'one', app.now()), + (2, 'two', app.now()), + (3, 'three', app.now()), + ) + app.paths.to_csv(path, data) + + data = app.paths.from_csv(path) + + app.msgbox(data) + + +Copy files +^^^^^^^^^^ + +Copy with the same name + +.. code-block:: python + + path = '/home/mau/image.png' + target = '/home/mau/Pictures' + path_new = app.paths.copy(path, target) + app.msgbox(path_new) + +Copy with other name + +.. code-block:: python + + path = '/home/mau/image.png' + target = '/home/mau/Pictures' + new_name = 'other_name.png' + path_new = app.paths.copy(path, target, name) + app.msgbox(path_new) + + .. _API XPathSettings: http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1util_1_1XPathSettings.html +.. _python csv: https://docs.python.org/3.7/library/csv.html diff --git a/source/easymacro.py b/source/easymacro.py index 42bb52f..475aaf7 100644 --- a/source/easymacro.py +++ b/source/easymacro.py @@ -6600,6 +6600,11 @@ class Paths(object): @classmethod def image(cls, path): + # ~ sfa = create_instance('com.sun.star.ucb.SimpleFileAccess') + # ~ stream = sfa.openFileRead(cls.to_url(path)) + # ~ debug(type(stream), stream) + # ~ Name = "InputStream" + # ~ Value = stream gp = create_instance('com.sun.star.graphic.GraphicProvider') image = gp.queryGraphic(( PropertyValue(Name='URL', Value=cls.to_url(path)), @@ -6611,6 +6616,7 @@ class Paths(object): p, f, n, e = _P(source).info if target: p = target + e = f'.{e}' if name: e = '' n = name