Skip to content
This repository was archived by the owner on Aug 15, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions tools/automation/twiml-generator/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ Example.java
Example.app
Example.exe
lib
dotnet_env/*
28 changes: 18 additions & 10 deletions tools/automation/twiml-generator/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
from twiml_generator import TwimlCodeGenerator, load_language_spec
from pathlib import Path
from lxml import etree
from contextlib import suppress

import argparse
import shutil
import subprocess

LANGUAGES_VERSIONS = {
'python': '6.x',
'java': '7.x',
'java': '8.x',
'csharp': '5.x',
'node': '3.x',
'php': '5.x',
Expand All @@ -25,7 +26,7 @@ def generate_code_sample_filepath(twiml_filepath, language):
language_spec = load_language_spec(language)
version = LANGUAGES_VERSIONS[language]
return twiml_filepath.parent.parent / (
twiml_filepath.name[:-5] + version + language_spec['extension']
twiml_filepath.parent.parent.name + '.' + version + language_spec['extension']
)


Expand Down Expand Up @@ -56,6 +57,7 @@ def generate_code_sample_filepath(twiml_filepath, language):
languages = args.languages

filepaths = Path(args.root_twiml_filepath).glob('**/*.twiml')
ok = failed = error = 0
for twiml_filepath in filepaths:
try:
for language in languages:
Expand All @@ -80,18 +82,24 @@ def generate_code_sample_filepath(twiml_filepath, language):
code_generator.write_code()

if args.test:
result, stdout, input_tree, output_tree = code_generator.verify(
)
result, stdout, input_tree, output_tree = code_generator.verify()
if result == TwimlCodeGenerator.VERIFY_SUCCESS:
print(' \x1B[92m[passed]\x1B[39m')
elif result == TwimlCodeGenerator.VERIFY_FAILURE:
print(' \x1B[91m[failed]\x1B[39m')
print('INPUT:\n' + input_tree)
print('OUTPUT:\n' + output_tree)
ok += 1
else:
print(' \x1B[91m[error]\x1B[39m')
print(stdout)
with suppress(IOError):
code_generator.code_filepath.unlink()
if result == TwimlCodeGenerator.VERIFY_FAILURE:
print(' \x1B[91m[failed]\x1B[39m')
print('INPUT:\n' + input_tree)
print('OUTPUT:\n' + output_tree)
failed += 1
else:
print(' \x1B[91m[error]\x1B[39m')
print(stdout)
error += 1
else:
print('')
except etree.XMLSyntaxError as e:
print('\nError parsing : {}'.format(twiml_filepath))
print(f'Total: {ok+error+failed}, Ok: {ok}, Failed: {failed}, Error: {error}')
2 changes: 1 addition & 1 deletion tools/automation/twiml-generator/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
-e git+https@github.com:TwilioDevEd/twiml-generator.git@master#egg=twiml_generator
-e git+https://github.com/TwilioDevEd/twiml-generator.git@master#egg=twiml_generator
19 changes: 19 additions & 0 deletions twiml/message/message/message-1/message-1.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Message message = new Message.Builder("Store Location: 123 Easy St.")
.build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
23 changes: 23 additions & 0 deletions twiml/message/message/message-2/message-2.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import com.twilio.twiml.messaging.Body;
import com.twilio.twiml.messaging.Media;
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Body body = new Body.Builder("Store Location: 123 Easy St.").build();
Media media = new Media.Builder("https://demo.twilio.com/owl.png")
.build();
Message message = new Message.Builder().body(body).media(media).build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
19 changes: 19 additions & 0 deletions twiml/message/message/message-3/message-3.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;
import com.twilio.http.HttpMethod;

public class Example {
public static void main(String[] args) {
Message message = new Message.Builder("Store Location: 123 Easy St.")
.action("/SmsHandler.php").method(HttpMethod.POST).build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
23 changes: 23 additions & 0 deletions twiml/message/message/message-4/message-4.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import com.twilio.twiml.messaging.Body;
import com.twilio.twiml.messaging.Media;
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Body body = new Body.Builder("Hello friend").build();
Media media = new Media.Builder("https://demo.twilio.com/owl.png")
.build();
Message message = new Message.Builder().body(body).media(media).build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
19 changes: 19 additions & 0 deletions twiml/message/redirect/redirect-1/redirect-1.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import com.twilio.twiml.voice.Redirect;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Redirect redirect = new Redirect
.Builder("http://www.foo.com/nextInstructions").build();
VoiceResponse response = new VoiceResponse.Builder().redirect(redirect)
.build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
18 changes: 18 additions & 0 deletions twiml/message/redirect/redirect-2/redirect-2.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import com.twilio.twiml.voice.Redirect;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Redirect redirect = new Redirect.Builder("../nextInstructions").build();
VoiceResponse response = new VoiceResponse.Builder().redirect(redirect)
.build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import com.twilio.twiml.messaging.Body;
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.messaging.Redirect;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Body body = new Body.Builder("Hello World!").build();
Message message = new Message.Builder().body(body).build();
Redirect redirect = new Redirect
.Builder("https://demo.twilio.com/welcome/sms/").build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).redirect(redirect).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Message message = new Message.Builder("This is message 1 of 2.")
.build();
Message message2 = new Message.Builder("This is message 2 of 2.")
.build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).message(message2).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import com.twilio.twiml.messaging.Message;
import com.twilio.twiml.MessagingResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Message message = new Message.Builder("I'm hungry!").build();
MessagingResponse response = new MessagingResponse.Builder()
.message(message).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
19 changes: 19 additions & 0 deletions twiml/voice/client/client-1/client-1.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import com.twilio.twiml.voice.Client;
import com.twilio.twiml.voice.Dial;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Client client = new Client.Builder("joey").build();
Dial dial = new Dial.Builder().client(client).build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
23 changes: 23 additions & 0 deletions twiml/voice/client/client-2/client-2.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import com.twilio.twiml.voice.Client;
import com.twilio.twiml.voice.Dial;
import com.twilio.twiml.voice.Number;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Number number = new Number.Builder("858-987-6543").build();
Client client = new Client.Builder("charlie").build();
Client client2 = new Client.Builder("joey").build();
Dial dial = new Dial.Builder().callerId("+1888XXXXXXX").number(number)
.client(client2).client(client).build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
24 changes: 24 additions & 0 deletions twiml/voice/client/client-3/client-3.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import com.twilio.twiml.voice.Client;
import com.twilio.twiml.voice.Dial;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;
import java.util.Arrays;
import com.twilio.http.HttpMethod;

public class Example {
public static void main(String[] args) {
Client client = new Client.Builder("joey")
.statusCallback("https://myapp.com/calls/events")
.statusCallbackMethod(HttpMethod.POST).statusCallbackEvents(Arrays
.asList(Client.Event.INITIATED, Client.Event.RINGING, Client.Event
.ANSWERED, Client.Event.COMPLETED)).build();
Dial dial = new Dial.Builder().client(client).build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
19 changes: 19 additions & 0 deletions twiml/voice/conference/conference-1/conference-1.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import com.twilio.twiml.voice.Conference;
import com.twilio.twiml.voice.Dial;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Conference conference = new Conference.Builder("Room 1234").build();
Dial dial = new Dial.Builder().conference(conference).build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
21 changes: 21 additions & 0 deletions twiml/voice/conference/conference-10/conference-10.8.x.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import com.twilio.twiml.voice.Conference;
import com.twilio.twiml.voice.Dial;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
public static void main(String[] args) {
Conference conference = new Conference.Builder("LoveTwilio")
.record(Conference.Record.RECORD_FROM_START)
.recordingStatusCallback("www.myexample.com").build();
Dial dial = new Dial.Builder().conference(conference).build();
VoiceResponse response = new VoiceResponse.Builder().dial(dial).build();

try {
System.out.println(response.toXml());
} catch (TwiMLException e) {
e.printStackTrace();
}
}
}
Loading