17 import glob |
17 import glob |
18 import os |
18 import os |
19 import shutil |
19 import shutil |
20 import sys |
20 import sys |
21 |
21 |
22 from eric7 import Utilities |
|
23 from eric7.DocumentationTools import TemplatesListsStyleCSS |
22 from eric7.DocumentationTools import TemplatesListsStyleCSS |
24 from eric7.DocumentationTools.Config import eric7docDefaultColors |
23 from eric7.DocumentationTools.Config import eric7docDefaultColors |
25 from eric7.DocumentationTools.IndexGenerator import IndexGenerator |
24 from eric7.DocumentationTools.IndexGenerator import IndexGenerator |
26 from eric7.DocumentationTools.ModuleDocumentor import ModuleDocument |
25 from eric7.DocumentationTools.ModuleDocumentor import ModuleDocument |
27 from eric7.DocumentationTools.QtHelpGenerator import QtHelpGenerator |
26 from eric7.DocumentationTools.QtHelpGenerator import QtHelpGenerator |
|
27 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities |
28 from eric7.UI.Info import Version |
28 from eric7.UI.Info import Version |
29 from eric7.Utilities import ModuleParser |
29 from eric7.Utilities import ModuleParser |
30 |
30 |
31 # list of supported filename extensions |
31 # list of supported filename extensions |
32 supportedExtensions = [".py", ".pyw", ".ptl", ".rb"] |
32 supportedExtensions = [".py", ".pyw", ".ptl", ".rb"] |
361 if startDir: |
361 if startDir: |
362 os.chdir(os.path.abspath(startDir)) |
362 os.chdir(os.path.abspath(startDir)) |
363 |
363 |
364 for arg in args: |
364 for arg in args: |
365 if os.path.isdir(arg): |
365 if os.path.isdir(arg): |
366 if os.path.exists(os.path.join(arg, Utilities.joinext("__init__", ".py"))): |
366 if os.path.exists( |
|
367 os.path.join(arg, FileSystemUtilities.joinext("__init__", ".py")) |
|
368 ): |
367 basename = os.path.dirname(arg) |
369 basename = os.path.dirname(arg) |
368 if arg == ".": |
370 if arg == ".": |
369 sys.stderr.write("The directory '.' is a package.\n") |
371 sys.stderr.write("The directory '.' is a package.\n") |
370 sys.stderr.write("Please repeat the call giving its real name.\n") |
372 sys.stderr.write("Please repeat the call giving its real name.\n") |
371 sys.stderr.write("Ignoring the directory.\n") |
373 sys.stderr.write("Ignoring the directory.\n") |
387 inpackage = False |
389 inpackage = False |
388 if os.path.isdir(filename): |
390 if os.path.isdir(filename): |
389 files = [] |
391 files = [] |
390 for ext in supportedExtensions: |
392 for ext in supportedExtensions: |
391 files.extend( |
393 files.extend( |
392 glob.glob(os.path.join(filename, Utilities.joinext("*", ext))) |
394 glob.glob( |
|
395 os.path.join( |
|
396 filename, FileSystemUtilities.joinext("*", ext) |
|
397 ) |
|
398 ) |
393 ) |
399 ) |
394 initFile = os.path.join( |
400 initFile = os.path.join( |
395 filename, Utilities.joinext("__init__", ext) |
401 filename, FileSystemUtilities.joinext("__init__", ext) |
396 ) |
402 ) |
397 if initFile in files: |
403 if initFile in files: |
398 inpackage = True |
404 inpackage = True |
399 files.remove(initFile) |
405 files.remove(initFile) |
400 files.insert(0, initFile) |
406 files.insert(0, initFile) |
401 else: |
407 else: |
402 if Utilities.isWindowsPlatform() and glob.has_magic(filename): |
408 if OSUtilities.isWindowsPlatform() and glob.has_magic(filename): |
403 files = glob.glob(filename) |
409 files = glob.glob(filename) |
404 else: |
410 else: |
405 files = [filename] |
411 files = [filename] |
406 |
412 |
407 for file in files: |
413 for file in files: |
427 continue |
433 continue |
428 except ImportError as v: |
434 except ImportError as v: |
429 sys.stderr.write("{0} error: {1}\n".format(file, v)) |
435 sys.stderr.write("{0} error: {1}\n".format(file, v)) |
430 continue |
436 continue |
431 |
437 |
432 f = Utilities.joinext( |
438 f = FileSystemUtilities.joinext( |
433 os.path.join(outputDir, moduleDocument.name()), ".html" |
439 os.path.join(outputDir, moduleDocument.name()), ".html" |
434 ) |
440 ) |
435 |
441 |
436 # remember for index file generation |
442 # remember for index file generation |
437 indexGenerator.remember(file, moduleDocument, basename) |
443 indexGenerator.remember(file, moduleDocument, basename) |