Membuat ArcGIS untuk Desktop memutar suara pada speaker ketika model selesai?

16

Saya ingin bisa tidur ketika Model berjalan hampir sepanjang malam di ArcGIS untuk Desktop.

Saya ingin ArcGIS untuk Desktop memainkan suara ketika selesai, untuk membangunkan saya.

Apakah ini mungkin?

Harun
sumber
3
Saya ingin email saya jadi mungkin jawabannya bisa mencakup keduanya (Tuang bir juga akan menyenangkan). Hebat Q.
Jika Anda tidak tahu- hanya GIS
1
Chr (7) BEL memainkan suara pengeras suara ... namun jika Anda tertarik hanya dengan sedikit python, saya bisa membantu. Tidak bisa membantu dengan birnya.
Michael Stimson
Ah! Sebuah email akan berfungsi, saya dapat membuat program email saya mati.
Aaron
5
Saya membayangkan solusi seperti Rube Goldberg (sp?) Akan paling tepat. Ketika model menyelesaikan lengan komputer mekanik pintu perangkap yang melepaskan bola yang akhirnya menjatuhkan handuk basah di wajah Anda atau serupa.
Jika Anda tidak tahu- hanya GIS

Jawaban:

18

Saya sangat suka jawaban Aarons, tetapi sesuatu yang lebih sederhana dan lokal:

subprocess.Popen([r"C:\Program Files (x86)\Windows Media Player\wmplayer.exe",r"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3"])

menggunakan modul subproses menyebabkan windows media player untuk membuka file ..

import subprocess

wmPlay = r"C:\Program Files (x86)\Windows Media Player\wmplayer.exe"
PlayFile= r"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3"
subprocess.Popen([wmPlay,PlayFile])

Tentu saja musik sampel lebih cenderung membuat Anda tertidur sehingga sesuatu yang lebih mirip nada jam alarm saya mungkin lebih cocok.

Tapi tentu saja itu sangat sederhana sehingga Anda bisa melakukan keduanya, cukup tempelkan itu di akhir kode Aarons.

Michael Stimson
sumber
1
Ide bagus! Ini juga dapat dengan mudah dimasukkan sebagai alat skrip.
Aaron
2
Sukai ide skrip ini. Saya menyarankan mp3 seperti musik tema National Geographic , atau Where in the World adalah Carmen Sandiego , tapi itu mungkin agak terlalu culun dari saya ...
Erica
Selera musik semua orang berbeda. Saya memilih lagu yang keras dan menjengkelkan karena lebih cenderung mendapat perhatian. Penerbangan dari Valkyrie akan menjadi pilihan yang sangat baik jika Anda tidak mungkin tidur meskipun itu. Jika Anda benar-benar tertarik, Anda dapat memasukkan parameter file yang akan diputar dan membuatnya melaporkan kembali dengan nada pendek pada titik-titik kritis sebagai bukti kehidupan
Michael Stimson
dan sekali lagi, saya mengosongkan jawaban Anda dengan AML 1998 yang membuat bunyi bip yang mengganggu;)
Stephen Lead
Ha ha @StephenLead, di ArcInfo hampir semuanya membuat bunyi bip yang mengganggu. Anda bisa pergi dan membuat kopi dan tahu proses Anda masih berjalan hanya dengan rantai bip. Ini tentu saja mengasumsikan speaker sistem Anda diinstal.
Michael Stimson
16

Bagaimana dengan mengirim email kepada diri sendiri ketika model selesai? Pastikan untuk mengatur ponsel Anda untuk memberi Anda nada ketika Anda menerima email yang dikirim melalui skrip Python terlampir. Ini dirancang untuk dijalankan sebagai alat skrip di ModelBuilder. Jika Anda tidak terbiasa bekerja dengan alat skrip, ikuti instruksi ini . Tolong bukan bahwa ini dikonfigurasi untuk bekerja dengan gmail. Alat ini dirancang untuk bekerja sebagai berikut (perhatikan prasyarat melampirkan variabel bufferedPoints dan alat skrip sendEmail):

masukkan deskripsi gambar di sini


import smtplib, os, arcpy
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders

# Fill in the necessary blanks here
gmail_user = sys.argv[1]
gmail_pwd = sys.argv[2]

# The parameters
to = sys.argv[3]
subject = sys.argv[4]
text = sys.argv[5]

def mail(to, subject, text):
    msg = MIMEMultipart()

    msg['From'] = gmail_user
    msg['To'] = to
    msg['Subject'] = subject

    # Attaches a text message to the e-mail
    msg.attach(MIMEText(text))

    mailServer =smtplib.SMTP("smtp.gmail.com", 587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login(gmail_user, gmail_pwd)
    mailServer.sendmail(gmail_user, to, msg.as_string())
    mailServer.close()

mail(to, subject, text)

Petunjuk untuk membuat alat skrip:

Buat skrip

  1. Buka IDLE > File> Jendela Baru
  2. Salin dan tempel skrip pada posting ini ke jendela baru
  3. Simpan sebagai> "SendEmail.py"

Buat alat skrip

  1. Klik kanan pada folder> Baru> Kotak Alat (Di sinilah letak alat skrip)
  2. Klik kanan kotak alat> Tambah> Skrip ...
  3. Isi Nama, Label, Deskripsi dan centang "Simpan jalur relatif ...."
  4. Hit Selanjutnya
  5. Tambahkan skrip yang Anda buat "SendEmail.py"
  6. Hit Selanjutnya
  7. Isi parameter persis seperti pada gambar terlampir.
  8. Tekan Selesai
  9. Temukan alat baru di kotak alat dan gunakan seperti yang Anda lakukan alat lain di ModelBuilder

masukkan deskripsi gambar di sini

Harun
sumber
1
@ Michael Miles-Stimson Kebetulan lucu, tidak ada terlalu banyak Harun lagi. Alat skrip ini berfungsi langsung melalui layanan email dan tidak tergantung pada pandangan. Namun, jika Outlook dapat membaca email untuk Anda dan ponsel Anda dapat memberi tahu Anda ketika Anda menerima email melalui Outlook, itu akan berfungsi dengan baik.
Aaron
1
Saya bekerja dengan Harun, dia juga keren. Saya merujuk ke email keluar , pada dasarnya saya akan mengirim email sendiri .. pesan dari saya kepada saya dikirim dari komputer kerja dan membaca / memberi tahu di komputer rumah pada VPN. Outlook dapat dikonfigurasikan untuk memutar suara ketika email masuk.
Michael Stimson
1
BAIK. Ini sangat menjanjikan! Saya tidak mengerti di mana harus memasukkan alamat email saya yang sebenarnya. Apakah saya menggantikannya dengan frasa "gmail_user"? atau itu variabelnya? Apa saja hal-hal "sys.argv [#]"? Apakah itu tempat saya menyimpan informasi saya?
Aaron
1
@Aaron sys.argv adalah daftar yang berisi argumen yang diteruskan ke skrip Python dari baris perintah. Ini setara dengan menggunakan arcpy.GetParameterAsText ( i )
om_henners
3
Jika ini membantu siapa pun, saya telah memberikan contoh inti yang menunjukkan cara menggunakan jawaban @ Harun sebagai pembungkus untuk memberi tahu keberhasilan atau kegagalan suatu skrip.
om_henners