检查Sphinx doc是否调用了脚本

2023-11-24

我目前正在尝试为使用 ArcGIS arcpy 库的脚本生成 sphinx 文档。

当 sphinx 尝试在生成文档时运行脚本时,我遇到了问题,因为 arcpy 脚本从 arcgis gui 获取输入参数。由于 sphinx 在没有 gui 的情况下调用脚本,因此这些参数为空并导致回溯,例如:

C:\VersionControl\PythonScripts\Source\src\_build\script_export_pdf.rst:4: WARNING:     autodoc: failed to import module u'gis.scripts.script_export_pdf'; the following exception was raised:
Traceback (most recent call last):
  File "C:\VersionControl\PythonScripts\Source\src\lib\Python27\ArcGIS10.1\lib\site-packages\sphinx\ext\autodoc.py", line 335, in import_object
    __import__(self.modname)
  File "C:\VersionControl\PythonScripts\Source\src\gis\scripts\script_export_pdf.py", line 76, in <module>
    mxd.ExportToPDF(in_mxds, out_folder, overwrite, current)
  File "C:\VersionControl\PythonScripts\Source\src\gis\mapping\mxd.py", line 315, in ExportToPDF
    _ExportToPDF(arcpy.mapping.MapDocument(m), out_folder, overwrite)
  File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\mixins.py", line 609, in __init__
    assert (os.path.isfile(mxd) or (mxd.lower() == "current")), gp.getIDMessage(89004, "Invalid MXD filename")
AssertionError: Invalid MXD filename.

我通过在测试开始时设置一个变量来解决单元测试中的这个问题,脚本会在参数中检查并设置测试值,我想知道 sphinx 是否有类似的解决方法?


我想出的解决方案虽然可能远非理想,但只是简单地检查

if 'sphinx' in sys.modules:
    in_mxds = [r"C:/test.mxd"]
else:
    in_mxds = arcpy.GetParameterAsText(1)

这将确保脚本不会尝试从 GUI 获取在生成 sphinx 文档时未设置的参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查Sphinx doc是否调用了脚本 的相关文章

随机推荐

  • 在azure linux应用程序服务中托管角度应用程序

    我正在使用角度框架来构建前端应用程序 有什么办法 如何将应用程序部署到Azure Linux应用程序服务 我已经使用 NodeJS 堆栈创建了 Web 应用程序 并将其分配给 Linux 应用服务 我已经用命令构建了我的角度应用程序ng b
  • ASP.NET - 是否可以从服务器代码触发回发?

    是否可以以编程方式从 ASP NET 中的服务器代码触发回发 我知道可以执行 Response Redirect 或 Server Transfer 来重定向到页面 但是有没有办法在服务器代码中触发回发到同一页面 i e 不使用 javas
  • 为什么 JTA 不支持嵌套事务

    为什么 JTA 不支持嵌套事务 是因为实现它们的复杂性 我对此表示怀疑 还是某些设计原则 JTA 规范并不是说它不支持嵌套事务 它只是不需要实施者予以支持 以下摘录自 JTA 1 1 规范 p 11 13 3 1 用户交易接口 and 3
  • ASP.NET MVC 4 生成具有递归部分视图的树视图

    我对强类型的 MVC 4 项目有一个部分视图 它采用数据库表的 IEnumerable 集合 在该表中 有 ID 名称和 ParentID 用于存储记录之间的层次结构连接 调用分部视图的视图也是强类型的 它以整个数据库为模型 并将Categ
  • 密码在 IE 中显示为白色(或根本不显示)

    由于某些原因 我正在处理的网站的密码字段在 IE8 中显示为空白 或白色 字符 这两个屏幕截图都输入了长密码 我突出显示了第二个 以便您可以看到它识别了字符 它们只是显示为空 我还包括了 IE 调试跟踪 全尺寸 https i stack
  • CLPlacemark.locality,如果设备语言不同,值会更改

    我使用 CLGeocoder 将 CLLocation 从经度 纬度解码为地名 效果很好 但仍有一件事困扰着我 当我将设备语言设置为英语时 代码的结果如下 void locationManager CLLocationManager man
  • 让RichTextBox在添加内容时自动滚动到底部

    我有一个 WPF 用户控件BindableRichTextBox xmlns controls clr namespace SysadminsLV WPF OfficeTheme Controls assembly Wpf OfficeTh
  • 生成长类型的UUID

    请给我要生成的示例代码UUID of long输入java而不使用时间戳 Thanks 真正的 UUID 是 128 位 long 是 64 位 这不仅仅是迂腐 UUID代表普遍的唯一标识符 的 普遍独特性 已建立的UUID方案基于 对 M
  • 如何在 Android 上每 5 秒循环或执行一个函数

    我怎样才能每 5 秒在 onCreate 上循环一次 time 函数 帮助我 我是 Android 新手 我想每 5 秒在 onCreate 中执行一次 time 函数 public void onCreate Bundle savedIn
  • 为什么需要第二个 cin.ignore() ?

    我注意到每当我编写一个使用std cin如果我希望用户按 Enter 结束程序 我必须写std cin ignore 两次以获得所需的行为 例如 include
  • 为heroku添加反向代理

    我有一个在 heroku 上运行的 Rails 应用程序 例如 myapp herokuapp com 现在我想从以下位置进行反向代理myapp heroku com proxy to somewhereelse com i e myapp
  • 与 ADFS 2.0 联合时如何正确设置超时

    我使用 ADFS 2 0 已经有一段时间了 我了解它是如何工作的 我已经完成了数十个自定义 RP 自定义 STS 以及使用 ADFS 作为依赖的 STS 然而 我有一个简单的要求 但我仍然无法实现 我希望我的用户被迫relogin经过一段固
  • onSaveInstanceState 没有在 Fragment 中被调用

    我知道有人问过这个问题 但我遵循了所有答案 但仍然遇到同样的问题 我有两个脚本 一个是片段管理器 IngredientsActivity 另一个是片段 OtherList 代码如下 成分活性 import java util ArrayLi
  • 正确访问 segue 的目标视图控制器以分配协议委托

    我在实现选择列表时集成 segue 和协议时遇到一些问题 在我的选择列表 h 中 我有 import
  • keytool 找不到别名

    我有一个 pfx 证书 需要通过别名引用 问题是 keytool 无法找到该别名 即使它显示在列表中 keytool list keystore temp pfx storetype pkcs12 给了我这个 0c5fc7cef279ca3
  • 以编程方式将 EditText 的输入类型从 PASSWORD 更改为 NORMAL,反之亦然

    在我的应用程序中 我有一个EditText其默认输入类型设置为android inputType textPassword 默认情况下 它有一个CheckBox其右侧 选中后 会将 EditText 的输入类型更改为 NORMAL PLAI
  • Visual Studio 更改日期和时间格式

    在 Visual Studio 2005 2008 2010 1012 2013 中工作时 日期和时间以 mm dd yyyy hh MM ss 格式显示 有没有办法把它改成和电脑一样的设置 我感兴趣的显示日期位于 监视 窗口中 我的系统是
  • 上下文和范围之间的区别

    在学习 JSR 299 时 我阅读了第 5 1 节焊接参考这解释了范围在 CDI 中的工作原理 显然 上下文是一个与范围密切相关的概念 我的脑海中并不清楚其中的区别 我什至想互换使用这些词 范围和上下文有什么区别 这两个概念之间有何关系 每
  • 对象属性数组(服务器上的枚举)和 ember 复选框组之间的双向绑定

    我正在寻找一种解决方案 将包含字符串数组 表示服务器上的枚举 的对象属性绑定到复选框列表 绑定应该是双向的 在服务器上 我们有一些枚举定义 例如具有值 ADMIN GUEST USER 的角色 一个用户对象可能有多个角色 因此 Ember
  • 检查Sphinx doc是否调用了脚本

    我目前正在尝试为使用 ArcGIS arcpy 库的脚本生成 sphinx 文档 当 sphinx 尝试在生成文档时运行脚本时 我遇到了问题 因为 arcpy 脚本从 arcgis gui 获取输入参数 由于 sphinx 在没有 gui