mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-10 18:58:10 +00:00
Fix encoding of filenames in python scripts
* lib/scripts/fig2pstex.py * lib/scripts/fig2pdftex.py * lib/scripts/fig_copy.py * lib/scripts/fen2ascii.py: convert filenames from utf8 to the default locale encoding. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16635 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
8673c7ef02
commit
cff50172f3
@ -1,4 +1,5 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# file fen2ascii.py
|
# file fen2ascii.py
|
||||||
# This file is part of LyX, the document processor.
|
# This file is part of LyX, the document processor.
|
||||||
@ -11,12 +12,23 @@
|
|||||||
# This script will convert a chess position in the FEN
|
# This script will convert a chess position in the FEN
|
||||||
# format to an ascii representation of the position.
|
# format to an ascii representation of the position.
|
||||||
|
|
||||||
import sys,string,os
|
import sys, string, os, locale
|
||||||
|
|
||||||
|
# We expect two args, the names of the input and output files.
|
||||||
|
if len(sys.argv) != 3:
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
language, output_encoding = locale.getdefaultlocale()
|
||||||
|
if output_encoding == None:
|
||||||
|
output_encoding = 'latin1'
|
||||||
|
|
||||||
|
input = unicode(sys.argv[1], 'utf8').encode(output_encoding)
|
||||||
|
output = unicode(sys.argv[2], 'utf8').encode(output_encoding)
|
||||||
|
|
||||||
os.close(0)
|
os.close(0)
|
||||||
os.close(1)
|
os.close(1)
|
||||||
sys.stdin = open(sys.argv[1],"r")
|
sys.stdin = open(input, "r")
|
||||||
sys.stdout = open(sys.argv[2],"w")
|
sys.stdout = open(output, "w")
|
||||||
|
|
||||||
line = sys.stdin.readline()
|
line = sys.stdin.readline()
|
||||||
if line[-1] == '\n':
|
if line[-1] == '\n':
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
import os, sys, re
|
import os, sys, re, locale
|
||||||
|
|
||||||
|
|
||||||
def runCommand(cmd):
|
def runCommand(cmd):
|
||||||
@ -44,7 +44,12 @@ def runCommand(cmd):
|
|||||||
if len(sys.argv) != 3:
|
if len(sys.argv) != 3:
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
input, output = sys.argv[1:]
|
language, output_encoding = locale.getdefaultlocale()
|
||||||
|
if output_encoding == None:
|
||||||
|
output_encoding = 'latin1'
|
||||||
|
|
||||||
|
input = unicode(sys.argv[1], 'utf8').encode(output_encoding)
|
||||||
|
output = unicode(sys.argv[2], 'utf8').encode(output_encoding)
|
||||||
|
|
||||||
# Fail silently if the file doesn't exist
|
# Fail silently if the file doesn't exist
|
||||||
if not os.path.isfile(input):
|
if not os.path.isfile(input):
|
||||||
|
@ -27,13 +27,18 @@
|
|||||||
# the real eps file will be overwritten by a tex file named file.eps.
|
# the real eps file will be overwritten by a tex file named file.eps.
|
||||||
#
|
#
|
||||||
|
|
||||||
import os, sys
|
import os, sys, locale
|
||||||
|
|
||||||
# We expect two args, the names of the input and output files.
|
# We expect two args, the names of the input and output files.
|
||||||
if len(sys.argv) != 3:
|
if len(sys.argv) != 3:
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
input, output = sys.argv[1:]
|
language, output_encoding = locale.getdefaultlocale()
|
||||||
|
if output_encoding == None:
|
||||||
|
output_encoding = 'latin1'
|
||||||
|
|
||||||
|
input = unicode(sys.argv[1], 'utf8').encode(output_encoding)
|
||||||
|
output = unicode(sys.argv[2], 'utf8').encode(output_encoding)
|
||||||
|
|
||||||
# Fail silently if the file doesn't exist
|
# Fail silently if the file doesn't exist
|
||||||
if not os.path.isfile(input):
|
if not os.path.isfile(input):
|
||||||
|
@ -18,24 +18,31 @@
|
|||||||
# picture files that are stored as relative paths are replaced
|
# picture files that are stored as relative paths are replaced
|
||||||
# with the absolute path.
|
# with the absolute path.
|
||||||
|
|
||||||
import os, sys
|
import os, sys, locale
|
||||||
|
|
||||||
if len(sys.argv) != 3:
|
if len(sys.argv) != 3:
|
||||||
print >> sys.stderr, "Usage: fig_copy.py <from file> <to file>"
|
print >> sys.stderr, "Usage: fig_copy.py <from file> <to file>"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
if not os.path.isfile(sys.argv[1]):
|
language, output_encoding = locale.getdefaultlocale()
|
||||||
print >> sys.stderr, "Unable to read", sys.argv[1]
|
if output_encoding == None:
|
||||||
|
output_encoding = 'latin1'
|
||||||
|
|
||||||
|
from_file = unicode(sys.argv[1], 'utf8').encode(output_encoding)
|
||||||
|
to_file = unicode(sys.argv[2], 'utf8').encode(output_encoding)
|
||||||
|
|
||||||
|
if not os.path.isfile(from_file):
|
||||||
|
print >> sys.stderr, "Unable to read", from_file
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
from_dir = os.path.split(os.path.realpath(sys.argv[1]))[0]
|
from_dir = os.path.split(os.path.realpath(from_file))[0]
|
||||||
to_dir = os.path.split(os.path.realpath(sys.argv[2]))[0]
|
to_dir = os.path.split(os.path.realpath(to_file))[0]
|
||||||
|
|
||||||
# The work is trivial if "to" and "from" are in the same directory.
|
# The work is trivial if "to" and "from" are in the same directory.
|
||||||
if from_dir == to_dir:
|
if from_dir == to_dir:
|
||||||
import shutil
|
import shutil
|
||||||
try:
|
try:
|
||||||
shutil.copy(sys.argv[1], sys.argv[2])
|
shutil.copy(from_file, to_file)
|
||||||
except:
|
except:
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
@ -52,8 +59,8 @@ commentline = re.compile(r'^\s*#.*$')
|
|||||||
# we allow space in path name
|
# we allow space in path name
|
||||||
figureline = re.compile(r'^(\s*[01]\s*)(\S[\S ]*)(\s*)$')
|
figureline = re.compile(r'^(\s*[01]\s*)(\S[\S ]*)(\s*)$')
|
||||||
|
|
||||||
input = open(sys.argv[1], 'r')
|
input = open(from_file, 'r')
|
||||||
output = open(sys.argv[2], 'w')
|
output = open(to_file, 'w')
|
||||||
|
|
||||||
# path in the fig is relative to this path
|
# path in the fig is relative to this path
|
||||||
os.chdir(from_dir)
|
os.chdir(from_dir)
|
||||||
|
Loading…
Reference in New Issue
Block a user